首页 > 其他分享 >atcoder ABC 282(A-C)

atcoder ABC 282(A-C)

时间:2022-12-18 15:22:24浏览次数:40  
标签:atcoder ABC 题目 int scanf namespace using include 282

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

相关文章