Educational Codeforces Round 94 (Rated for Div. 2) 参与排名人数15221
[codeforces 1400A] String Similarity 打印奇数位置的字母
总目录详见https://blog.csdn.net/mrcrack/article/details/103564004
在线测评地址https://codeforces.com/contest/1400/problem/A
Problem | Lang | Verdict | Time | Memory |
---|---|---|---|---|
A - String Similarity | GNU C++17 | Accepted | 30 ms | 0 KB |
题目大意:给出一个长度为2n-1的字符串,寻找一个长度为n的字符串,要求长度为n的字符串,与长度为2n-1的字符串中的[1,n],[2,n+1],[3,n+2],[4,n+3],......,[n,2n-1]的子字符串相似。输出这个长度为n的字符串.
基本思路:模拟样例发现,只需打印长度为2n-1的字符串的奇数位置的字母,即可。
4
1110000
可以拆成
第一个串1110
第二个串1100
第三个串1000
第四个串0000
四个串,
第一个串取出第一位1
第二个串取出第二位1
第三个串取出第三位0
第四个串取出第四位0
这四位,对应寻找的串中对应位置的字母,寻找的串是
1100
1100对应
位置1234567
串值1111000
位置1,3,5,7位置上的字母。
故,只要,打印奇数位置的字母。
AC代码如下:
#include <stdio.h>
char s[55*2-1],w[55];
int main(){
int t,n,i;
scanf("%d",&t);
while(t--){
scanf("%d%s",&n,s+1);
for(i=1;i<=n;i++)w[i]=s[2*i-1];//打印奇数位置的字母
for(i=1;i<=n;i++)printf("%c",w[i]);
printf("\n");
}
return 0;
}