首页 > 其他分享 >Atcoder Beginner Contest 355

Atcoder Beginner Contest 355

时间:2024-06-06 21:32:54浏览次数:13  
标签:Atcoder false Beginner int cin long ++ 355 using

A - Who Ate the Cake?

#include <bits/stdc++.h>

using namespace std;
using i64 = long long;

int main() {
	ios::sync_with_stdio(false), cin.tie(nullptr);
	int A, B;
	cin >> A >> B;
	if (A == B) cout << -1;
	else cout << 6 - A - B;
	return 0;
}

B - Piano 2

#include <bits/stdc++.h>

using namespace std;
using i64 = long long;

vector<int> A(105), B(105);

int find(int x) {
	for (auto i : A) {
		if (i == x) return true;
	}
	return false;
}

int main() {
	ios::sync_with_stdio(false), cin.tie(nullptr);
	int n, m;
	cin >> n >> m;
	vector<int> C;
	for (int i = 0; i < n; i++) {
		cin >> A[i];
		C.push_back(A[i]);
	}
	for (int i = 0; i < m; i++) {
		cin >> B[i];
		C.push_back(B[i]);
	}
	sort(C.begin(), C.end());
	for (int i = 0; i < C.size() - 1; i++) {
		int x = C[i], y = C[i + 1];
		if (find(x) && find(y)) {
			cout << "Yes\n";
			return 0;
		}
	}
	cout << "No\n";
	return 0;
}

C - Bingo 2

分别记录每行、每列、对角线中被涂黑的格子数量 \(\rm row[i]\),\(\rm col[i]\),\(d_1\),\(d_2\),每次操作后检查该格子对应的行列对角线的黑格子数是否是 \(N\) 即可。

(一开始的想法是先按题意要求将表格初始化出来,每次操作的时候再将表格对应关键字的地方涂黑,但这样太慢,不如一开始在读入数据的时候就查出行号和列号,将每行和每列、两条对角线上全部统计好后一起查询。)

#include <bits/stdc++.h>

using namespace std;
using i64 = long long;

int N, T;
int row[2010], col[2010];

int main() {
	ios::sync_with_stdio(false), cin.tie(nullptr);
	cin >> N >> T;
	int d1 = 0, d2 = 0;
	bool flag = false;
	for (int i = 0; i < T; i++) {
		int t;
		cin >> t;
		t--;
		int x = t / N, y = t % N;//快速算出行号和列号
		row[x]++, col[y]++;
		if (x == y) d1 ++;
		if (x + y == N - 1) d2 ++;
		if (row[x] == N || col[y] == N || d1 == N || d2 == N) {
			cout << i + 1 << "\n";
			flag = true;
			break;
		} 
	}
	if (!flag) cout << -1;
	return 0;
}

标签:Atcoder,false,Beginner,int,cin,long,++,355,using
From: https://www.cnblogs.com/pangyou3s/p/18236068

相关文章

  • abc355f 题解
    abc355f直接贺lct维护mst的代码。思路观察到\(w_i\le10\),考虑分开建\(10\)个图表示边权小于等于\(i\)的边组成的图。连并查集,记录当前图连了\(siz_i\)条边。可以发现第\(i-1\)个图是第\(i\)个图的子图。所以差分\(siz_i-siz_{i-1}\)可以得到原图的最小生成......
  • abc355e 题解
    abc355e思路WC2024T3中知道一个技巧:如果知道区间\([l,r]\)的和就连边\(l\tor+1\),那么想推出\([L,R]\)的区间和就要求\(L\)和\(R+1\)联通。按题意把符合要求的边连上,设边权为\(1\)跑bfs,求出\(L\)到\(R+1\)的最短路并记录路径上的点,就可以得到要询问的区间。......
  • atcoder ABC 356-B题详解
    atcoderABC356-B题详解ProblemStatementTakahashiishealth-consciousandconcernedaboutwhetherheisgettingenoughofMtypesofnutrientsfromhisdiet.Forthei-thnutrient,hisgoalistotakeatleastAi​unitsperday.Today,heateNfoods......
  • AtCoder Beginner Contest 356
    Contest从比赛开始第三分钟开始记:00:00~00:02:A题。00:02~00:07:B题。00:07~00:16:C题。00:16~00:43:D题。00:43~01:02:E题。01:02~结束:摆烂。A-SubsegmentReverse给定\(n,l,r\)。输出将序列\(A=(1,2,\dots,n)\)中\([l,r]\)翻转后的样......
  • AtCoder Beginner Contest 356
    A-SubsegmentReverse(abc356A)题目大意给定一个\(1,2,3,...,n\)的排列\(a\),给定两个数\(l,r\),左右颠倒\(a[l..r]\)。输出。解题思路按照题意模拟即可。神奇的代码#include<bits/stdc++.h>usingnamespacestd;usingLL=longlong;intmain(void){ios::......
  • atcoder350,351,352,353,354,355期部分题解
    声明:有些题感觉已经说到很明白了,就先不写代码了,有空会补上目录350D: newfriend350E:toward0351D:GridandMagnet352D:permutation subsequence353C:sigmaproblem353D:anothersigmaproblem354C:atcodermagics355C:bingo2355D:intersectingintervals......
  • AtCoder Beginner Contest 355 (E,F)
    总结:这把B都错题了一直Wa,然后队友告诉我说F貌似可做,写了半个小时F发现题目读假了,于是四题下班。E-GuesstheSum题目大意:给定一个隐藏的、长度为N的数组,下标从0开始,题目给定L,R,要你用最少的询问次数求出\(\sum_{i=L}^{R}a_{i}\)。对于每次询问,可以选择一个i和j,然......
  • Atcoder ABC355 C~F
    C出题人太善良了,加强到\(10^5\)都没问题。考虑维护每条横线竖线两条对角线上被标记的点的个数,每次标记点后,判断是否有线上点全被标记。再考虑如何将点编号转为坐标,记编号为\(t\),推柿子:\[(x-1)\timesn+y=t\]\[nx+y=t+n\]\[x=\frac{t+n-y}{n}\]等同于找到\(y\)使得:\[n......
  • AtCoder Beginner Contest 328
    A-NotTooHard#include<bits/stdc++.h>usingnamespacestd;usingi32=int32_t;usingi64=longlong;#defineinti64usingvi=vector<int>;i32main(){ ios::sync_with_stdio(false),cin.tie(nullptr); intn,x; cin>>n&g......
  • 查阅相关资料, 了解什么是scrum中的3355?
    在Scrum中,3355是一个用于描述其核心组成部分的模型,具体包括三个核心角色、三个工件、五个关键事件和五个价值观。下面是对Scrum中3355的详细解释:三个核心角色产品负责人(ProductOwner):主要负责确定产品的功能和达到要求的标准。指定软件的发布日期和交付的内容。有权力接受或......