Codeforces Round #650 (Div. 3) 参与排名人数11978
[codeforces 1367A] Short Substrings 间隔取字符
总目录详见https://blog.csdn.net/mrcrack/article/details/103564004
在线测评地址http://codeforces.com/contest/1367/problem/A
此篇文章晚写原因,Codeforces网站2020.6.17一直无法访问,直到下午某个时刻才能访问。
Problem | Lang | Verdict | Time | Memory |
---|---|---|---|---|
A - Short Substrings | GNU C++17 | Accepted | 31 ms | 0 KB |
题目大意:字符串𝑎="abac",可以拆分为2个字母的子串"ab", "ba", "ac". 将这些子串拼接,可以得到字符串𝑏="abbaac".题目要求,根据b字符串推导a字符串。
基本思路:b字符串,保留首位字母,中间字母,每两个保留一个,即可得到a字符串。
AC代码如下(代码是在比赛中,边写边调,才AC的):
#include <stdio.h>
#include <string.h>
#define maxn 110
char b[maxn],a[maxn];
void solve(){
int n,i;
scanf("%s",b+1);
n=strlen(b+1);
a[1]=b[1];
for(i=2;i<=n-2;i+=2)a[i/2+1]=b[i];
a[(n-2)/2+1+1]=b[n];
a[(n-2)/2+1+1+1]='\0';
printf("%s\n",a+1);
}
int main(){
int t;
scanf("%d",&t);
while(t--)solve();
return 0;
}