A
输入k,要从A打印到第k个大写字母。
只要看懂题目就行。
#include<iostream>
using namespace std;
int main(){
int k;
scanf("%d",&k);
for(int i=0;i<k;i++){
printf("%c",'A'+i);
}
return 0;
}
B
有n个参赛者,m道题目,输入n个m长的字符串表示参赛者会不会题目,如果一个题目会,就是o不会就是x。然后选出其中两个参赛者,请问有几种选法,能做出所有题目。
输入像这样:
5 5
ooooo
oooxx
xxooo
oxoxo
xxxxx
由于m最大为30,可以用按位与进行判断。
#include<iostream>
using namespace std;
long long pra[35];
int ans;
int n,m;
char in;
int ok;
int main(){
scanf("%d %d",&n,&m);
for(int i=1;i<=m;i++)ok=1+(ok<<1);
for(int i=1;i<=n;i++){
for(int j=1;j<=m;j++){
scanf(" %c",&in);
if(in=='o')pra[i]=(pra[i]<<1)+1;
else pra[i]=pra[i]<<1;
}
}
for(int i=1;i<=n;i++){
for(int j=1+i;j<=n;j++){
if((pra[i]|pra[j])==ok)ans++;
}
}
printf("%d",ans);
return 0;
}
C
输入有n个字符的字符串,要求把没有被""包裹的逗号转化为点。像这样:
输入:
8
"a,b"c,d
输出:
"a,b"c.d
所以只需要判断在不在双引号里面就行。
#include<iostream>
#include<string.h>
using namespace std;
char in[200005];
int n;
int flag;
int main(){
scanf("%d",&n);
scanf("%s",in);
for(int i=0;i<n;i++){
if(in[i]=='"')flag=(flag+1)%2;
else if(in[i]==','&&flag==0)in[i]='.';
}
printf("%s",in);
return 0;
}
标签:atcoder,ABC,题目,int,scanf,namespace,using,include,282 From: https://www.cnblogs.com/bvwvd/p/16990419.html