AOJ 1129 - Hanafuda Shuffle
やるだけ.
# 解法
言われたとおりに書く.最初のカードの状態(下から1,2,...,N)に注意する.
1-indexedで書くと楽かも.
コード
#include <cstdio> #include <algorithm> int main(){ int N, R; while(scanf("%d %d", &N, &R), N || R){ int cards[51], _a[51]; for(int i=1;i<=N;i++){ cards[i] = N-i+1; } while(R--){ int p, c; scanf("%d %d", &p, &c); for(int i=1;i<p;i++){ _a[i] = cards[i]; } for(int i=1;i<=c;i++){ cards[i] = cards[p+i-1]; } for(int i=1;i<p;i++){ cards[c+i] = _a[i]; } } printf("%d\n", cards[1]); } }