https://atcoder.jp/contests/abc282
A - Generalized ABC
题意
给出一个数 \(k\),输出A
~Z
中的前 \(k\) 个字母。
分析
从 \(0\) 到 \(k\) 枚举,将 A
加上 \(i\) 输出。
代码
#include<bits/stdc++.h>
using namespace std;
int main()
{
int k;
cin>>k;
for(int i=0;i<k;i++) cout<<char('A'+i);
return 0;
}
B - Let's Get a Perfect Score
题意
编号为 \(1\) 到 \(N\) 的 \(N\) 个参与者将参加一个有 \(M\) 个问题的竞赛,编号为 \(1\) 到 \(M\)。
对于一个介于 \(1\) 和 \(N\) 之间的整数 \(i\) 和一个介于 \(1\) 和 \(M\) 之间的整数 \(j\),如果 \(S_i\) 的第 \(j\) 个字符是o
,则参与者 \(i\) 可以解决问题 \(j\),如果该字符是x
,则参与者 \(i\) 不能解决问题 \(j\)。
参与者必须两人一组。打印出组成一对能集体解决所有 \(M\) 个问题的参与者的方法数量。
更正式地说,打印满足 \(1\le x< y\le N\) 的整数对 \((x,y)\) 的数目,使得对于 \(1\) 和 \(M\) 之间的任何整数 \(j\),参与者 \(x\) 和参与者 \(y\) 中至少有一个可以解决问题 \(j\)。
--感谢搜狗提供的翻译
分析
从 \(1\) 到 \(n\) 枚举两个人,然后判断这两个人每道题是否至少有一个o
,最后输出即可。
代码
#include<bits/stdc++.h>
using namespace std;
int n,m;
char a[35][35];
long long ans=0;
int main()
{
cin>>n>>m;
for(int i=1;i<=n;i++)
for(int j=1;j<=m;j++)
cin>>a[i][j];
for(int i=1;i<=n;i++)
{
for(int i2=i+1;i2<=n;i2++)
{
bool flag=0;
for(int j=1;j<=m;j++)
{
if(a[i][j]!='o'&&a[i2][j]!='o')
{
flag=1;
break;
}
}
if(!flag) ans++;
}
}
cout<<ans<<endl;
return 0;
}
C - String Delimiter
题意
给出一个字符串,将这个字符串中没有被"
括起来的,
变为.
。
分析
由于"
不分左右,所以我们只需要判断每个"
出现次数的奇偶性即可。
- 如果当前出现了奇数个
"
,则说明当前``被"
括起来。 - 如果当前出现了偶数个
"
,则说明当前,
没有被"
括起来。
代码
#include<bits/stdc++.h>
using namespace std;
stack<int>x;
string s;
long long tot=0,n;
int main()
{
// freopen("input.in","r",stdin);
// freopen("output.out","w",stdout);
cin>>n;
getline(cin,s);
getline(cin,s);
for(int i=0;i<s.size();i++)
{
if(s[i]=='"') tot++;
if((tot%2==0)&&s[i]==',') s[i]='.';
}
cout<<s;
return 0;
}
标签:AtCoder,main,题意,Beginner,int,cin,long,282,参与者
From: https://www.cnblogs.com/PineappleSummer/p/ABC282.html