您的位置:首页 > 大数据 > 人工智能

Codeforces Round #438 B Race Against Time(模拟)

2017-10-06 15:42 459 查看
题目链接:点击打开链接

一个基于时钟的模拟题,将时钟分为3600份,从起点分别顺时针和逆时针走一遍即可

AC代码:

#include <iostream>
#include <cstdio>
#include <cstring>
#include <algorithm>

using namespace std;

int clock[3601];
int h, m, s, t1, t2;

void solve()
{
memset(clock,0,sizeof(clock));
if(m==0) m=60;
if(s==0) s=60;
clock[(m*60+s)%3601]=-1, clock[s*60]=-1;
clock[(300*h+m+(s+59)/60)%3601]=-1;
for(int i=t1*300;!clock[i%3601];i++)
clock[i%3601]=1;
for(int i=t1*300-1;!clock[i%3601];i--)
{
if(i==0) i=3600;
clock[i%3601]=1;
}
if(clock[t2*300]) cout<<"YES"<<endl;
else cout<<"NO"<<endl;
}

int main()
{
ios::sync_with_stdio(0);
cin.tie(0);
while(cin>>h>>m>>s>>t1>>t2)
{
solve();
}
return 0;
}
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: