比赛 20121106 评测结果 WWWWWWWW
题目名称 过河 最终得分 0
用户昵称 临轩听雨ゐ 运行时间 0.003 s
代码语言 C++ 内存使用 3.15 MiB
提交时间 2012-11-06 11:17:10
显示代码纯文本
#include <fstream>
#include <cstdlib>
#include <cstring>
#include <cstdio>
#include <string>
#include <cmath>
using namespace std;
int main()
{
	ifstream in("rivera.in");
	ofstream out("rivera.out");
	int n;
	int a[1001]={0},b[1001]={0};
	in>>n;
	int pos[1001]={0};
	bool bo[1001]={true};
	int num=0,ans=0;
	for(int i=1;i<=n;i++)
		in>>a[i]>>b[i];
	int h=0,t=1;
	num=5;
	while(h<=t && h<=1000000)
	{
		if(pos[h]==n+1) break;
		if(h==num)
		{
			num=pos[h]+5;
			ans++;
		}
		for(int i=pos[h]+1;i<=pos[h]+5;i++)
		{
			if(i>0 && i<=n+1 && i!=pos[h])
			{
				if(i==n+1)
				{
					break;
				}
				if(bo[i]==false)
					if(((h+1)%(a[i]+b[i])>=0&&(h+1)%(a[i]+b[i])<=a[i] ))
					{
						bo[i]==true;
						pos[t]=i;
						t++;
					}
			}
		}
		h++;
	}
	if(h>=1000000)  out<<"NO"<<endl;
	else out<<ans+1;
    return 0;
}