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

AtCoder Beginner Contest 046

时间:2024-08-21 21:15:01浏览次数:7  
标签:AtCoder cout Beginner int cin long i64 using 046

A - AtCoDeer and Paint Cans

#include <bits/stdc++.h>

using namespace std;
using i64 = long long;

int main() {
	ios::sync_with_stdio(false), cin.tie(nullptr);
	set<int> s;
	for (int i = 0; i < 3; i++) {
		int x;
		cin >> x;
		s.insert(x);
	}
	cout << s.size();
	return 0;
}

B - Painting Balls with AtCoDeer

#include <bits/stdc++.h>

using namespace std;
using i64 = long long;

int main() {
	ios::sync_with_stdio(false), cin.tie(nullptr);
	int N, K;
	cin >> N >> K;
	int ans = K;
	for (int i = 0; i < N - 1; i++) ans *= (K - 1);
	cout << ans;
	return 0;
}

C - AtCoDeer and Election Report

#include <bits/stdc++.h>

using namespace std;
using i64 = long long;

i64 _ceil(i64 x, i64 y) {//实现x / y向上取整(记忆!)
	return (x + y - 1) / y;
}

int main() {
	ios::sync_with_stdio(false), cin.tie(nullptr);
	int N;
	cin >> N;
	int t, a;
	cin >> t >> a;
	i64 A = t, B = a;//t、a互素,初始票数与之相等
	for (int i = 1; i < N; i++) {
		int x, y;
		cin >> x >> y;
		A = x * _ceil(A, x);
		B = y * _ceil(B, y);//先将A,B变成x,y的倍数,再看是否符合比例关系:
		if (A / x < B / y) {//A偏小,按比例关系更改
			A = B / y * x;
		} else {
			B = A / x * y;//B偏小,按比例关系更改
		}
	}
	cout << A + B;
	return 0;
}

D - AtCoDeer and Rock-Paper

#include <bits/stdc++.h>

using namespace std;
using i64 = long long;

int main() {
	ios::sync_with_stdio(false), cin.tie(nullptr);
	string s;
	cin >> s;
	int n = s.size(), ans = 0;
	int g = (n + 1) / 2, p = n - g;
	//cout << p << " " << g;
	for (int i = 0; i < n; i++) {
		if (s[i] == 'p' && p > 0) {
			p--;
		}
	}
	for (int i = 0; i < n; i++) {
		if (s[i] == 'g' && p > 0) {
			p--;
			ans++;
		}
	}
	cout << ans;
	return 0;
}

标签:AtCoder,cout,Beginner,int,cin,long,i64,using,046
From: https://www.cnblogs.com/pangyou3s/p/18372572

相关文章

  • [AtCoder - tdpc_game] :ゲーム 题解
    [AtCoder-tdpc_game]:ゲーム题解一道小清新\(dp\)题。定义\(dp_{i,j}\)为第一堆山还有\(i\)个物品,第二堆山还有\(j\)个物品,すぬけ君能取得物品的最大价值。由于只能取两座山最上面的物品,假设当前两座山分别有\({x,y}\)个物品,すぬけ君选后只能有两种情况,分别为\(d......
  • AtCoder ABC 367
    前言本题解部分思路来自于网络,仅供参考。A-ShoutEveryday题目大意给定Takahashi每天的睡觉时间和起床时间,求Takahashi在$A$时是睡着的还是清醒的。解题思路根据题意模拟即可。code#include<bits/stdc++.h>usingnamespacestd;intmain(){inta,b,c;......
  • 10046-1-批量为视频添加文字水印每隔几秒钟显示一次水印-视频首尾不显示水印-UI
    程序功使用环境▶适用的系统环境说明:win7以上64位win系统注意:win32位系统/mac系统需要额外定制▶使用期限:无需注册、不绑电脑、无时间限制▶如何安装:不需要安装程序功能说明▶子文件夹穿透:支持▶支持的文件格式:'.mp4','.avi','.mkv','.webm','.ts','.flv','.mov','.wmv'......
  • AtCoder Beginner Contest 367
    题目链接:AtCoderBeginnerContest367总结:发挥很一般,A一直wa。开场有点事,导致D也没debug出来。A.ShoutEverydaytag:模拟Solution:注意\(B>C\)与\(B<C\)的不同情况即可。voidsolve(){  inta,b,c;  cin>>a>>b>>c;  if(c>b){    if(......
  • Atcoder [ABC367F] Rearrange Query 题解
    简要题意给定两个长度为\(N\)的序列\(A\)和\(B\)。有\(Q\)个查询,每个查询给定\(l,r,L,R\),其中\(l\leqr,L\leqR\),要求判断\(A\)的第\(l\)项到第\(r\)项构成的集合与\(B\)的第\(L\)项到第\(R\)项构成的集合是否相等。题解显然两个相等的集合所有元素......
  • Atcoder [ABC367C] Enumerate Sequences 题解
    简要题意给定\(n,k\)和\(R_i\),你需要输出所有满足下列条件的整数序列:长度为\(n\)。第\(i\)个元素的范围为\([1,R_i]\)。一个序列的所有元素的总和为\(k\)的倍数。输出请按照按照从左至右按位从小到大的顺序输出。题解注意到数据范围很小,我们可以直接爆搜,这里用......
  • AtCoder Beginner Contest 367 题解(E~G)
    E转换关系看作有向边,\(n\)点\(n\)边构成基环树森林,基环树森林k后继唯一,记f[i][j]为点\(i\)的\(2^j\)级祖先,随便倍增。F一眼哈希,不知道有没有不哈希的做法。在这里我们不关心元素的顺序,只关心元素是否出现以及出现几次,考虑一个\(n\)位\(n+1\)进制数,\(a_i\)出现一......
  • Atcoder Beginner Contest 367
    A.ShoutEveryday\(\text{Diff}43\)给你\(24\)小时制下的\(A,B,C\)三个时刻,问\(A\)是否在\([B,C]\)范围内考虑到先将\(B,C\)加上一个\(24\),假如\(C\)比\(B\)小,将\(C\)再加上一个\(24\),这样可以保证严格的\(A\ltB,C\),此时直接判断是否存在一个\(k\),使得......
  • Atcoder Beginner Contest 367 C-F
    AtcoderBeginnerContest367C-FC-EnumerateSequences题意按字典序升序输出所有满足下列条件的序列数量。长度为\(N\)。第\(i\)个元素介于\(1\)与\(R_i\)之间。所有元素之和是\(K\)的倍数。思路搜索即可。搜索时记录当前选了哪些数和元素之和,最后搜......
  • AtCoder Beginner Contest 367
    A-ShoutEveryday(abc367A)题目大意高桥从\(A\)睡到\(B\),如果在\(C\)时,他醒着,他则会对章鱼烧发癫,问他今天是否发癫。解题思路由于只有\(24\)小时,直接枚举\(A\toB\),看看是否遍历到\(C\)即可。神奇的代码#include<bits/stdc++.h>usingnamespacestd;usingLL=......