bnuoj 4207 台风(模拟题)
http://www.bnuoj.com/bnuoj/problem_show.php?pid=4207
【题意】:中文题,略
【题解】:模拟
【code】:
1 #include <iostream> 2 #include <stdio.h> 3 #include <algorithm> 4 5 using namespace std; 6 7 struct Nod 8 { 9 int t,sh; 10 }node[3][10]; 11 12 void init() 13 { 14 //XsugarX 15 node[0][0].t = 15; 16 node[0][0].sh = 650; 17 18 node[0][1].t = 19; 19 node[0][1].sh = 450; 20 21 node[0][2].t = 46; 22 node[0][2].sh = 1100; 23 24 //temperlsyer 25 node[1][0].t = 9; 26 node[1][0].sh = 200; 27 28 node[1][1].t = 9; 29 node[1][1].sh = 200; 30 31 node[1][2].t = 10; 32 node[1][2].sh = 400; 33 34 node[1][3].t = 10; 35 node[1][3].sh = 500; 36 37 node[1][4].t = 45; 38 node[1][4].sh = 850; 39 } 40 41 int main() 42 { 43 int t; 44 init(); 45 scanf("%d",&t); 46 while(t--) 47 { 48 int time,p1,p2; 49 scanf("%d%d%d",&time,&p1,&p2); 50 int i,atk[3]={0}; 51 int next0=node[0][0].t,next1=node[1][0].t; 52 int add0=0,add1=0,cnt0=0,cnt1=0; 53 for(i=0;i<=time;i++) 54 { 55 int flag0=0,flag1=0; 56 if(next0==i) 57 { 58 p2-=node[0][cnt0].sh; 59 cnt0=(cnt0+1)%3; 60 flag0=1; 61 62 } 63 if(next1==i) 64 { 65 p1-=node[1][cnt1].sh; 66 cnt1=(cnt1+1)%5; 67 flag1=1; 68 } 69 if(flag0) 70 { 71 next1+=2; 72 next0+=node[0][cnt0].t; 73 } 74 if(flag1) 75 { 76 next1+=node[1][cnt1].t; 77 next0+=2; 78 } 79 if(flag0||flag1) 80 { 81 82 if(p1<=0||p2<=0) 83 { 84 break; 85 } 86 } 87 } 88 if((p1<=0&&p2<=0)||(p1==p2)) 89 { 90 puts("DRAW"); 91 } 92 else if(p1>p2) 93 { 94 printf("XsugarX %d\n",p1); 95 } 96 else if(p1<p2) 97 { 98 printf("temperlsyer %d\n",p2); 99 } 100 } 101 return 0; 102 }