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

AtCoder Beginner Contest 045

时间:2024-08-16 12:37:51浏览次数:4  
标签:牌堆 AtCoder Beginner int cin len long using 045

A - Trapezoids

#include <bits/stdc++.h>

using namespace std;
using i64 = long long;

int main() {
	ios::sync_with_stdio(false), cin.tie(nullptr);
	int a, b, h;
	cin >> a >> b >> h;
	cout << (a + b) * h / 2;
	return 0;
}

B - Card Game for Three (ABC Edit)

\(p[]\) 为当前牌堆顶指针。
\(\rm k\) 记录当前要从哪个牌堆抽牌(因为Alice先开始,所以初值为0)

看当前牌堆顶指针是否已经指到 \(len[k]\) 处,如果是则说明当前牌堆已空。
否则的话就把 \(k\) 指向当前牌堆顶的字母所指的牌堆,同时当前牌堆顶指针后移一位

#include <bits/stdc++.h>

using namespace std;
using i64 = long long;

int p[3];

int main() {
	ios::sync_with_stdio(false), cin.tie(nullptr);
	string s[3];
	cin >> s[0] >> s[1] >> s[2];
	int len[3];
	len[0] = s[0].size(), len[1] = s[1].size(), len[2] = s[2].size();
	int k = 0;
	while (1) {
		if (p[k] == len[k]) {
			cout << char(k + 'A');
			break;
		}
		k = s[k][p[k]++] - 'a';//这里 p[k]++ 必须写在里面,否则k更新后再改变的就是新牌堆的堆顶指针了
	}
	return 0;
}

标签:牌堆,AtCoder,Beginner,int,cin,len,long,using,045
From: https://www.cnblogs.com/pangyou3s/p/18362640

相关文章

  • [AtCoder] E - Putting Candies
    ProblemLinkIfwepickA[i]the2ndtime,itmeanswehaveacycle.Proof:1sttimewepickA[i],thesumbeforeaddingA[i]isx;2ndtimewepickA[i],thesumbeforeaddingA[i]isy; Forthistohappenx%N==y%Nmusthold.Otherwisewewouldno......
  • 题解:AT_abc365_d [ABC365D] AtCoder Janken 3
    D-AtCoderJanken3题解题意:高桥和青木要玩石头剪刀布,给你一个长度为\(n\)的字符串\(s\),\(s\)表示青木在第\(i\)局游戏中的动作(R表示石头,P表示布,S表示剪刀。)。高桥不可以在任何一局中输给青木(即:高桥和青木只可以平局或高桥赢青木),且高桥第\(i\)局出的和第\(i-1\)局......
  • 题解:AtCoder Janken 3
    D-AtCoderJanken3题解题意高桥和青木要玩石头剪刀布,给你一个长度为\(n\)的字符串\(s\),\(s\)表示青木在第\(i\)局游戏中的动作(R表示石头,P表示布,S表示剪刀)。高桥不可以在任何一局中输给青木(即:高桥和青木只可以平局或高桥赢青木),且高桥第\(i\)局出的和第\(i-1\)局......
  • AtCoder Beginner Contest 044
    A-TakandHotels(ABCEdit)#include<bits/stdc++.h>usingnamespacestd;usingi64=longlong;intmain(){ ios::sync_with_stdio(false),cin.tie(nullptr); intn,k,x,y; cin>>n>>k>>x>>y; intans=0; if......
  • Solution - Atcoder ARC171D Rolling Hash
    对于这个\(\operatorname{hash}(A_L,\cdots,A_R)\),一个比较经典的想法是做差分,即令\(s_i=\sum\limits_{j=1}^iA_jB^{i-j}\)。于是\(\operatorname{hash}(A_L,\cdots,A_R)=s_R-s_{L-1}\timesB^{R-L+1}\not=0\)。那么也就是\(s_R\not=s_{L-1}\ti......
  • Solution - Atcoder ABC155F Perils in Parallel
    首先可以按\(a_i\)排序,对于区间\([l_i,r_i]\)可以通过二分确定实际影响到的\(b_i\)的区间。考虑到区间\(i\in[l,r]\)的\(b_i\)都取反影响到的元素过多,考虑去减少影响到的元素。于是可以想到令\(c_i=b_i\oplusb_{i-1}\),那么对于区间\([l,r]\)操作实际影响......
  • Atcoder nomura2020F Sorting Game
    首先考虑如果固定了\(a\),如何判定这个\(a\)是否能被排序。如果存在\(a_i>a_j(i<j)\),那么\(a_i\)肯定要交换到\(a_j\)后面,那么就肯定会交换\(a_i,a_j\)。于是合法条件就是如果存在\(a_i>a_j(i<j)\),那么\(a_i,a_j\)只相差一个二进制位。那就还能知道此时一......
  • AtCoder Regular Contest 041 D 辺彩色
    洛谷传送门AtCoder传送门比较有意思的小清新题。第一步是时光倒流,看成是每次经过一条未被访问过的边才染色。奇偶相关容易想到二分图。发现若有一个黑白交替的奇环(即从一个点开始遍历完整个环得到的颜色序列是黑白交替地),那我们可以先染完这个环。又因为它是奇环,所以我们遍历......
  • AtCoder ABC 366题解
    前言本文部分思路来自于网络,仅供参考。A-Election2题目大意给定两个市长候选人的票数,求结果是否已经确定。解题思路如果剩下的人全部投票给票少的人票少的人也不能赢,则结果就已经确定了。code#include<bits/stdc++.h>usingnamespacestd;intmain(){intn,t,......
  • AI Python for Beginners-Andrew吴恩达-study notes(2)
    1Introduction    itisbelievedthatwiththehelpofAIchatbotwecanlearnpythonmoreeasilyanditwillbeamazingtoautomatetasksusingPython2 CompletingatasklistwithAI2.1List①listisasinglevariableoftype thatholdsm......