比赛 防止颓废的小练习v0.1 评测结果 AAAAAAAAAA
题目名称 寻宝 最终得分 100
用户昵称 rewine 运行时间 1.075 s
代码语言 C++ 内存使用 8.06 MiB
提交时间 2016-10-17 08:32:16
显示代码纯文本
#include <iostream>
#include <cstdio>
#include <cstring> 
#include <algorithm>
#include <cmath>
#include <queue>
#define mod 20123

using namespace std;

int n,m;
int t[10001][101];
int s[10001][101];
int sum[10001];
int k;
int ans=0;

void pa(int x)
{
	if(x==n+1) return;
	ans = (ans+s[x][k])%mod;
	int tt=0;
	s[x][k]%=sum[x];
	if(s[x][k]==0)
       s[x][k]=sum[x];
	for(int i=k;;i++)
	{
	  if(i==m) i=0;
	  if(t[x][i])tt++;
	  if(tt==s[x][k])
	  {
	  	k=i;
	  //	cout<<k<<endl;
	    pa(x+1);
	    return;
	  }
	}
}

int main()
{
   freopen("treasures.in","r",stdin);
   freopen("treasures.out","w",stdout);	
   ios::sync_with_stdio(false);
   cin>>n>>m;
   for(int i=1;i<=n;i++)
   {
     for(int j=0;j<m;j++)
	 {
       cin>>t[i][j]>>s[i][j];
       sum[i]+=t[i][j];
	 }
   }
   cin>>k;
   pa(1);
   cout<<ans;
}