題解:AtCoder Beginner Contest 367

辜铜星發表於2024-08-17

總體情況

A

題意

在 AtCoder 王國,居民們每天都要在 \(A\) 點大聲喊出他們對章魚燒的熱愛。

住在 AtCoder 王國的高橋每天 \(B\) 點睡覺, \(C\) 點起床( \(24\) 小時鐘)。他醒著的時候可以喊出對章魚燒的愛,但睡著的時候卻不能。判斷他是否每天都能喊出對章魚燒的愛。這裡,一天有 \(24\) 小時,他的睡眠時間小於 \(24\) 小時。

  • \(0\leq A,B,C\lt 24\)
  • \(A\)\(B\)\(C\) 成對不同。
  • 所有輸入值均為整數。

題解

24小時制,只要 \(b\)\(c\)\(a\) 小,那麼直接 \(b\gets b+24\)\(c\gets c+24\)。直接比較 \(c\)\(b\) 的大小即可

Code

// Problem: A - Shout Everyday
// Contest: AtCoder - AtCoder Beginner Contest 367
// URL: https://atcoder.jp/contests/abc367/tasks/abc367_a
// Memory Limit: 1024 MB
// Time Limit: 2000 ms
// 
// Powered by CP Editor (https://cpeditor.org)

#include<bits/stdc++.h>
using namespace std;
#define endl '\n'
//#define int long long
namespace gtx{
//	Fast IO
	void read(int &x){
		x = 0;int h = 1;char tmp;
		do{tmp=getchar();if(tmp=='-')h*=-1;}while(!isdigit(tmp));
		while(isdigit(tmp)) x*=10,x+=tmp-'0',tmp=getchar();
		x*=h;
	}
	void read(char &x){do{x=getchar();}while(x==' '||x=='\n'||x=='\r');}
	void write(char x){putchar(x);}
	void write(int x){
		if(x<0) putchar('-'),x=-x;int st[200]={0},tot=0;
		do{st[++tot]=x%10,x/=10;} while(x);
		while(tot){putchar(st[tot--]+'0');};
	}
	void write(int x,char y){write(x);write(y);}
	signed main(){
		int t,a,b;
		read(t);read(a);read(b);
		if(t<a) t+=24;
		if(b<a) b+=24;
		if(b<t) puts("Yes");
		else puts("No");
		return 0;
	}
}
signed main(){
//	freopen(".in","r",stdin);
//	freopen(".out","w",stdout);
//	ios::sync_with_stdio(0);cin.tie(0);cout.tie(0);
	int T = 1;
//	gtx::read(T);
	while(T--) gtx::main();
	return 0;
}

相關文章