codeforces比赛题解#868 CF Round #438 (Div.1+Div.2)
Posted PinkRabbit
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了codeforces比赛题解#868 CF Round #438 (Div.1+Div.2)相关的知识,希望对你有一定的参考价值。
这次是Div.1+Div.2,所以有7题。
因为时间较早,而且正好赶上训练,所以机房开黑做。
然而我们都只做了3题。:(。
链接。
【A】声控解锁
题意:
Arkady的宠物狗Mu-mu有一只手机。它需要朝这个手机吠一个英文单词密码(两个字符长),手机才能解锁。
Mu-mu的仇敌,Kashtanka想要解锁Mu-mu的手机,但是它只会说一些两个字符长的英文单词。
它想要用某种顺序吠出若干个英文单词,使得手机能解锁。告诉Kashtanka它有没有可能做到这一点。
输入:
第一行一个两个字符长的字符串,表示密码。
第二行一个正整数\(n\;(1\leqslant n\leqslant100)\),表示Kashtanka会说的单词数量。
接下来\(n\)行,每行一个两个字符长的字符串,表示Kashtanka会的单词。
输出:
YES或NO,表示是否能做到。
题解:
1 #include<cstdio> 2 #include<set> 3 #include<algorithm> 4 #include<queue> 5 #include<map> 6 #define F(i,n) for(int i=1;i<=n;++i) 7 #define R(i,a,b) for(int i=a;i<=b;++i) 8 #define dF(i,n) for(int i=n;i>=1;--i) 9 #define IINF 999999999 10 using namespace std; 11 int n,Ans=0; 12 char a[3]; 13 char st[1001][3]; 14 int h[606],l[606]; 15 int main(){ 16 scanf("%s",a); 17 scanf("%d",&n); 18 F(i,n){ 19 scanf("%s",st[i]); 20 if(st[i][0]==a[0]&&st[i][1]==a[1]) Ans=1; 21 h[st[i][0]]=1; 22 l[st[i][1]]=1; 23 } 24 if(h[a[1]]&&l[a[0]]) Ans=1; 25 if(Ans==1) puts("YES"); 26 else puts("NO"); 27 return 0; 28 }
【B】和时间赛跑
题意:
你曾经有这样的经历吗?要出一套题,离比赛开始只有8小时了,可是你却一道题都没出。
Mr.江有过。但是他真的有一个很不可拒绝的借口:他面对着一个时空悖论,时间和空间互换了位置!
整个宇宙变成了一个巨大的钟表。时针、分针和秒针静静地躺在钟面上。时间静止了,钟表显示的时间是\(h\)时\(m\)分\(s\)秒。
Mr.江上次和教练谈话是\(t_{1}\)时,而比赛在\(t_{2}\)时开始。这意味着Mr.江需要从\(t_{1}\)指针移动到\(\t_{2}\)指针。
但Mr.江在空间上的移动,就意味着Mr.江在现实中的时间上的衰老。但是众所周知,Mr.江有无限的时间支配,所以我们不需要担心这个。
如果Mr.江的道路上有指针挡着,他就不能通过。当然,Mr.江可以顺时针或逆时针行走。
保证任意一个指针不在整时刻度上。
输入:
五个数\(h,m,s,t_{1},t_{2}\;(1\leqslant h\leqslant12,0\leqslant m,s\leqslant59,1\leqslant t_{1},t_{2}\leqslant12),t_{1}\neq t_{2}\)。
以上是关于codeforces比赛题解#868 CF Round #438 (Div.1+Div.2)的主要内容,如果未能解决你的问题,请参考以下文章
codeforces比赛题解#915 Educational CF Round 36
codeforces比赛题解#869 CF Round #439 (Div.2)
codeforces比赛题解#849 CF Round #431 (Div.2)
codeforces比赛题解#920 Educational CF Round 37