记录编号 420398 评测结果 AAAAAAAAAA
题目名称 [NOIP 2012]寻宝 最终得分 100
用户昵称 Gravatar小字、小瓶子 是否通过 通过
代码语言 C++ 运行时间 0.846 s
提交时间 2017-07-04 17:44:30 内存使用 8.37 MiB
显示代码纯文本
#include<iostream>
#include<cstdio>
using namespace std;
int n,m,mi,x,sum;
struct jfbh{
	int tong[105];
	int shu[105];
	int ts;
}noip[10005];
int main()
{
	freopen("treasures.in","r",stdin);
	freopen("treasures.out","w",stdout);
	cin>>n>>m;
	for(int i=1;i<=n;i++)
	{
		for(int j=0;j<m;j++)
		{
			scanf("%d%d",&noip[i].tong[j],&noip[i].shu[j]);
			if(noip[i].tong[j])
				noip[i].ts++;
		}
	}
	cin>>x;//每层开始房间号
	for(int i=1;i<=n;i++)
	{
		int zhuan=noip[i].shu[x]%noip[i].ts;
		if(zhuan==0)
			zhuan=noip[i].ts;
		int j=x;
		sum+=noip[i].shu[x];
		sum%=20123;
		while(1)
		{
			if(noip[i].tong[j])
			{
				zhuan--;
				if(zhuan<=0)
				{
					x=j;
					break;
				}
			}
			j++;
			if(j==m)
				j=0;
		}
	}
	cout<<sum;
	return 0;
}