最短最小
2023-08-17 16:01:58
发布于:内蒙古
#include<bits/stdc++.h>
using namespace std;
#define PII pair<int, int>
#define M make_pair
#define x first
#define y second
#define E emplace
#define EB emplace_back
#define EF emplace_front
#define p putchar
#define re register
#define P printf(" ");
#define endl puts("")
#define Yes puts("Yes")
#define No puts("No")
#define YES puts("YES")
#define NO puts("NO")
#define error puts("error")
#define ll long long
#define ull unsigned long long
inline int gcd(int a,int b){
if(b) while((a%=b) && (b%=a));
return a+b;
}
inline int read(){
re int x=0,f=1;re char ch=getchar();
while(!isdigit(ch)){if(ch=='-') f=~f+1;ch=getchar();}
while(isdigit(ch)){x=(x<<1)+(x<<3)+(ch^48);ch=getchar();}
return xf;
}
inline ll read_ll(){
re ll x=0,f=1;re char ch=getchar();
while(!isdigit(ch)){if(ch=='-') f=~f+1;ch=getchar();}
while(isdigit(ch)){x=(x<<1)+(x<<3)+(ch^48);ch=getchar();}
return xf;
}
inline ull read_ull(){
re ull x=0,f=1;re char ch=getchar();
while(!isdigit(ch)){if(ch=='-') f=~f+1;ch=getchar();}
while(isdigit(ch)){x=(x<<1)+(x<<3)+(ch^48);ch=getchar();}
return xf;
}
inline void print(ll x){
if(x<0) p('-'),x=-x;
if(x>9) print(x/10);
p(x%10+'0');
}
const int N=1e4+2,N1=1e2+2,MOD=20123;
int stair[N][N1],num[N][N1];
int main(){
re int n=read(),m=read(),i,j;
for(i=1;i<=n;++i)
for(j=0;j<m;++j) stair[i][j]=read(),num[i][j]=read();
re int pos=read(),x,t,ans=0;
for(i=1;i<=n;++i){
x=num[i][pos];
ans=(ans+x)%MOD;
t=0;
for(j=0;j<m;++j) t+=stair[i][j];
x%=t;
if(!x) x=t;
if(stair[i][pos]) --x;
while(x){
pos=(pos+1)%m;
if(stair[i][pos]) --x;
}
}
print(ans);
}***
这里空空如也
有帮助,赞一个