首页 > 其他分享 >Atcoder Beginner Contest 244总结

Atcoder Beginner Contest 244总结

时间:2022-12-28 09:57:16浏览次数:38  
标签:Atcoder ch Beginner int 244 Task include using now

这次的Rating凉了………………

这次出乎T3意料的考了交互题,虽然很简单,但卡了我好久……

T4考了一个神奇的东西,我用骗分大法水了过去……

一看排名发现有快3000人得了1000分,所以我成功的排在了4000多名…………

Task A - Last Letter

题目大意:输出最后一个字符

…………

Code

#include<iostream>
using namespace std;

int main(){
    int n;
	cin >> n;
	char ch;
	for(int i = 1; i <= n; i++)
		cin >> ch;
	cout << ch;
    return 0;
}

Task B - Go Straight and Turn Right

题目大意:给你n个操作,走一步或向右转,问最后在哪

模拟即可

Code

#include<iostream>
using namespace std;

int main(){
    int n;
    cin >> n;
    char ch;
    int x = 0, y = 0;
    int now = 1;//1东2南3西4北 
    for(int i = 1; i <= n; i++){
		cin >> ch;
		if(ch == 'S'){
			if(now == 1)
				x++;
			if(now == 2)
				y--;
			if(now == 3)
				x--;
			if(now == 4)
				y++;
		}
		else{
			now++;
			if(now == 5)
				now = 1;
		}
	}
	cout << x << " " << y;
    return 0;
}

Task C - Yamanote Line Game

题目大意:跟你玩一个游戏,每个人再 1 至 2 * n + 1 之间选一个数,不能重复选,你先选

我第一次做交互题,现学了fflush的用法,TLE了n次,后来突然就过了。

Code

#include<iostream>
#include<cstdio>
using namespace std;
bool f[2005] = {false};
int main(){
	int n;
	scanf("%d", &n);
	fflush(stdout);
	int cnt = 0;
	for(int i = 1; i <= n + 1; i++){
		cnt++;
		while(f[cnt] == true && cnt <= 2 * n + 1)cnt++;
		fflush(stdout);
		printf("%d\n", cnt);
		f[cnt] = true;
		fflush(stdout);
		int x;
		scanf("%d", &x);
		f[x] = true;
		fflush(stdout);
	}
	return 0;
}

Task D - Swap Hats

题目大意:给你两个三的全排列,问第一个经过 10^18 次变化能否变成另一个,一次变化是指交换两个数

可以把第一个看作 1 2 3,第二个相应的看成一个全排列,只有6种情况,随机打表后提交,再根据测试结果修正即可

理论最多提交次数:6次

实际次数:4次

#include<iostream>
using namespace std;
char ch[4];
int t[4] = {0};
int main(){
    char c;
    for(int i = 1; i <= 3; i++)
    	cin >> c, ch[i] = c;
	for(int i = 1; i <= 3; i++){
		cin >> c;
		for(int j = 1; j <= 3; j++)
			if(ch[j] == c)
				t[i] = j;
	}
	int ans = t[1] * 100 + t[2] * 10 + t[3];
	if(ans == 123)cout << "Yes";//ok
	if(ans == 132)cout << "No";//ok
	if(ans == 213)cout << "No";//ok
	if(ans == 231)cout << "Yes"; 
	if(ans == 312)cout << "Yes";
	if(ans == 321)cout << "No";
    return 0;
}

后面都是图论……………………

总结:还行,以后图论还要多搞搞

标签:Atcoder,ch,Beginner,int,244,Task,include,using,now
From: https://www.cnblogs.com/rlc202204/p/17009470.html

相关文章

  • Atcoder Beginner Contest 242
    由于我8点半才下课,我只好晚半个小时再打,这次还行,排名3042五道题,秒了前三道,第四道不会,第五道想出正解,结果一直不对,比完后看了一下大佬的代码恍然大悟,但是比赛早已结束...........
  • AtCoder Beginner Contest 283
    《E-Don'tIsolateElements》dp   刚开始拿到这道题时,我总是在想:第一行翻不翻转对下面情况的影响,在什么情况下要反转,等一系列情况最后我发现:这些情况不如我可......
  • Atcoder Beginner Contest ABC 283 Ex Popcount Sum 题解 (类欧几里得算法)
    题目链接令\(p=\lfloor\frac{n-r}m\rfloor\),则我们其实是要对所有\(0\lei\le29\)求\(\sum_{j=0}^p(\lfloor\frac{mj+r}{2^i}\rfloormod\2)\)。右边那个东西如果没......
  • AtCoder Grand Contest 060(持续更新)
    Preface那一天,闪总终于想起了被ACG支配的恐惧……只能说还好Rating不够,这场Unrated打的,写了个A然后B一直挂(一个细节没想到),C数数又数不来90min后光速跑路推Gal去了A-......
  • AcWing244.谜一样的牛
    传送门题目描述有\(n\)头奶牛,已知它们的身高为\(1\simn\)且各不相同,但不知道每头奶牛的具体身高。现在这\(n\)头奶牛站成一列,已知第\(i\)头牛前面有\(A_i\)......
  • AtCoder Beginner Contest 283(A~F)
    Aa,b=map(int,input().split())print(pow(a,b))Bn=int(input())a=list(map(int,input().split()))q=int(input())foriinrange(q):op=list(map(int,input()......
  • 「杂题乱写」AtCoderDP26 题
    「杂题乱写」AtCoderDP26题\(\text{AtCoderDP26}\)题题单。前言最近听说\(\text{AtCoder}\)上有个\(\text{DP26}\)题挺好的,于是向@\(\text{SoyTony}\)要了题单......
  • AtCoder Beginner Contest 283
    A-Power(abc283a)题目大意给定\(A,B\),输出\(A^B\)解题思路数不大,暴力即可。数大了可用快速幂。神奇的代码#include<bits/stdc++.h>usingnamespacestd;us......
  • atcoder
    AGC001D题目大意:有一个长度为\(m\)的序列\(a\),它的和为\(n\),需要将\(a\)重排,并构造一个任意长度但和为\(n\)的序列\(b\),使得对任意长度为\(n\)的字符串,如果......
  • [翻译]写给初学者的源代码安装指南Beginner's Guide to Installing from Source
    写给初学者的源代码安装指南引入本文档面向希望直接从原始作者处安装软件的开源操作系统用户,而不是仅依赖其操作系统提供的软件(和版本)。它是为那些不熟悉以源代码形式下......