アットウィキロゴ

8-5y

  1. // 20085y.c
  2.  
  3. #include <stdio.h>
  4. #include <ctype.h>
  5. #include <string.h>
  6. #include <math.h>
  7. #include <stdlib.h>
  8. #include <time.h>
  9.  
  10. int main(int argc,char *argv[]){
  11. FILE *fpin = fopen("argv[1]","r");
  12. int i,j,n,m,p,q,r;
  13. long x,y,s=0;
  14. int a,b;
  15. int card[2][100000],*pone,*ptwo;
  16. pone = &card[0][0];
  17. ptwo = &card[1][0];
  18. fscanf(fpin,"%d %d %d %d %d",&n,&m,&p,&q,&r);
  19. for(i=0;i<n;i++){card[0][i]=i+1;}
  20.  
  21.  
  22. for(j=0;j<m;j++){
  23. fscanf(fpin,"%d %d",&x,&y);
  24. for(i=0;i<x;i++){
  25. *(ptwo+i+n-x) = *(pone+i);
  26. }
  27. for(i=0;i<y-x;i++){
  28. *(ptwo+n-y+i) = *(pone+x+i);
  29. }
  30. for(i=0;i<n-y;i++){
  31. *(ptwo+i) = *(pone+y+i);
  32. }
  33. for(i=0;i<n;i++){
  34. *(pone+i) =*(ptwo+i);
  35. }
  36. }
  37. for(i=p-1;i<q;i++){
  38. if(card[0][i] <= r){s++;}
  39. }
  40. printf("%d",s);
  41. return 0;
  42. }
  43.  
  44.  
  45. // main 関数は正常に終了したとき return 0;
  46. // エラーが発生したときは、0 以外の数値を返すように
  47. // する習慣があるようですので、以降は return 0; に
  48. // 統一しましょう
最終更新:2009年11月08日 12:50
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。