SDUT 周赛 10.9
思路:比赛的时候没有做出来,心气有些浮躁,其实比赛的时候应该好好思考一下,遇到灵异情况要考虑重敲!!!!
AC代码:
1 #include <stdio.h> 2 #include <string.h> 3 #include <algorithm> 4 using namespace std; 5 int main() 6 { 7 int n,m,d,p,q,n1,n2,n3,k1,k2; 8 char s[101]; 9 while(~scanf("%d%d",&n,&m)) 10 { 11 for(int i=0;i<n;i++) 12 { 13 scanf("%d%s",&d,s); 14 } 15 p=m-1; 16 q=n-m; 17 n1=n-1; 18 n2=n-2; 19 n3=n-3; 20 int f=0; 21 if(n==1||n==2) 22 { 23 printf("NO\n"); 24 continue; 25 } 26 else if(n==3) 27 { 28 if(m==2) 29 { 30 printf("YES\n"); 31 } 32 else 33 { 34 printf("NO\n"); 35 } 36 continue; 37 } 38 if(n1%3==0) 39 { 40 k1=max(p,q); 41 k2=min(p,q); 42 if(k1>0&&k2>0&&k1<=k2*2) 43 { 44 f=1; 45 printf("YES\n"); 46 continue; 47 } 48 } 49 if(n2%3==0) 50 { 51 k1=max(p,q-1); 52 k2=min(p,q-1); 53 if(k1>0&&k2>0&&k1<=k2*2) 54 { 55 f=1; 56 printf("YES\n"); 57 continue; 58 } 59 } 60 if(n3%3==0) 61 { 62 k1=max(p-1,q-1); 63 k2=min(p-1,q-1); 64 if(k1>0&&k2>0&&k1<=k2*2) 65 { 66 f=1; 67 printf("YES\n"); 68 continue; 69 } 70 } 71 if(f==0) 72 { 73 printf("NO\n"); 74 } 75 } 76 return 0; 77 }
CSU 1535 http://acm.hust.edu.cn/vjudge/contest/view.action?cid=94468#problem/J
原文:http://www.cnblogs.com/qioalu/p/4868261.html