水题啊,一开始看错了,以为是从上下是1。。n,Assume that at the beginning the cards are numbered from 1 to n, from the bottom to the top. 但后来才发现是从下到上为1。。。n,用指针没弄出来,指针不会啊,怎么办
#include <iostream>
#include <cstdlib>
using namespace std;
int main(void)
{
int N,R;
int p[53],c[53];
int i,j;
int card[53],now[53];
while(cin >> N >> R && (N + R))
{
for(i = 1;i <= R;++i)
cin >> p[i] >> c[i];
for(i = 1; i<= N;++i)
card[i] = now[i] = N - i + 1;
for(i = 1; i<= R;++i)
{
if(c[i] < N)
{
for(j = 1;j < p[i];++j)
card[j + c[i]] = now[j];
for(j = p[i];j < p[i] + c[i];++j)
card[j - p[i] + 1] = now[j];
}
for( j = 1;j <= N;++j) now[j] = card[j];
}
cout << card[1] << endl;
}
system("pause");
return 0;
}