首页 > 其他分享 >AtCoder Beginner Contest 282

AtCoder Beginner Contest 282

时间:2022-12-20 19:34:00浏览次数:62  
标签:AtCoder main 题意 Beginner int cin long 282 参与者

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

相关文章

  • abc--282--E
    题意主要就是每次操作删去一个数,知道最后只剩下一个数了思路竟然是最大生成树每次删去一个点,也就相当于将两个点进行合并了,其实也不用管是将那个点删去了反正是合并了......
  • AtCoder Beginner Contest 282
    《MakeBipartite2》思维,二分图  这个简单图可以有两种情况:1.全部点都通过边连起来,即连通分量只有一个,其自己2.还有有些点没有全部连起来,即有多个连通分......
  • (AtCoder Beginner Contest 282) D - Make Bipartite 2(二分图)
    题目大意:给定一个n个点m条边的图,请你在其中加一条边使得整个图G是二分图,问有多少种可能。(已有的边不能加)解题思路:首先我们要知道,二分图内是没有长度为奇数的回路的所......
  • atcoder ABC 282(A-C)
    A输入k,要从A打印到第k个大写字母。只要看懂题目就行。#include<iostream>usingnamespacestd;intmain(){ intk; scanf("%d",&k); for(inti=0;i<k;i++){ prin......
  • AtCoder Beginner Contest 282
    A-GeneralizedABC(abc282a)题目大意给定\(n\),输出一个字符串,从'A','B','C'...拼接得到的长度为\(n\)。解题思路模拟即可。神奇的代码#include<bits/stdc++.h......
  • AtCoder Beginner Contest 281 (A-D)
    A题意:输入一个整数,输出(n+1)行,从n一直输出到0.解法/思路:一个循环完事儿。代码:#include<iostream>usingnamespacestd;intmain(){ intn; cin>>n; for(in......
  • [ABC282D] Make Bipartite 2 题解
    题目描述给定一个无向简单图\(G\),统计有多少个点对\((u,v)\)满足:\(u,v\)之间没有边直接连接:\((u,v)\notin\textE\)连接\((u,v)\)后\(G\)是二分图......
  • AtCoder Beginner Contest 280 (A-D)
    本人第一次写博客,若有不足还望指出(•̀ω•́)✧A题意:输入一个H行W列的字符矩阵,统计'#'的个数。解法/思路:挺简单的,直接贴代码吧。代码:#include<iostream>#incl......
  • HHKB Programming Contest 2022 Winter(AtCoder Beginner Contest 282)
    前言好久没有打AtCoder了。有点手生。只拿到了\(\operatorname{rk}1510\),应该上不了多少分。只切了\(\texttt{A,B,C,D}\)四题。A-GeneralizedABC简要题意给出......
  • AtCoder Regular Contest 143 E Reversi
    AtCoder传送门洛谷传送门翻转一个点会把它相邻的点全部翻转,因此先从叶子开始自下而上考虑。不难发现,如果这个叶子是白色,那么它一定比它的父亲先翻转(否则它就翻不了了);而......