A. Eevee http://codeforces.com/contest/452/problem/A
字符串水题
1 #include<cstdio> 2 #include<cstring> 3 using namespace std; 4 const int M=16; 5 char a[16][M]={"vaporeon", "jolteon", "flareon", "espeon", "umbreon", "leafeon", "glaceon", "sylveon"}; 6 char b[M]; 7 int main(){ 8 int n; 9 while(~scanf("%d",&n)){ 10 scanf("%s",b); 11 for(int i=0;i<8;i++){ 12 int la=strlen(a[i]); 13 if(la==n){ 14 bool flag=true; 15 for(int j=0;j<n;j++){ 16 if(b[j]!='.'&&b[j]!=a[i][j]){ 17 flag=false; 18 break; 19 } 20 } 21 if(flag){ 22 puts(a[i]); 23 break; 24 } 25 } 26 } 27 } 28 return 0; 29 }
B. 4-point polyline http://codeforces.com/contest/452/problem/B
暴力几种画法
1 #include<cstdio> 2 #include<cstdlib> 3 #include<cstring> 4 #include<cmath> 5 #include<cctype> 6 #include<iostream> 7 #include<algorithm> 8 #include<queue> 9 #include<stack> 10 #include<vector> 11 #include<map> 12 #include<set> 13 #define mt(a,b) memset(a,b,sizeof(a)) 14 using namespace std; 15 typedef __int64 LL; 16 const int inf=0x7fffffff; 17 const int M=100; 18 struct point{ 19 int x,y; 20 }; 21 struct G{ 22 point p[4]; 23 int val; 24 friend bool operator <(G a,G b){ 25 return a.val>b.val; 26 } 27 }g[M]; 28 int dist(point a,point b){ 29 return (a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y); 30 } 31 int lg; 32 void add(int id,int x,int y){ 33 g[lg].p[id].x=x; 34 g[lg].p[id].y=y; 35 } 36 int main(){ 37 int n,m; 38 while(~scanf("%d%d",&n,&m)){ 39 if(n==0){ 40 printf("0 1 "); 41 printf("0 %d ",m); 42 printf("0 0 "); 43 printf("0 %d ",m-1); 44 continue; 45 } 46 if(m==0){ 47 printf("1 0 "); 48 printf("%d 0 ",n); 49 printf("0 0 "); 50 printf("%d 0 ",n-1); 51 continue; 52 } 53 lg=0; 54 add(0,0,0); 55 add(1,n,m); 56 add(2,0,m); 57 add(3,n,0); 58 lg++; 59 add(0,0,0); 60 add(1,n,m); 61 add(2,n,0); 62 add(3,0,m); 63 lg++; 64 add(0,1,0); 65 add(1,n,m); 66 add(2,0,0); 67 add(3,n-1,m); 68 lg++; 69 add(0,0,1); 70 add(1,n,m); 71 add(2,0,0); 72 add(3,n,m-1); 73 lg++; 74 add(0,1,1); 75 add(1,n,m); 76 add(2,0,0); 77 add(3,n-1,m-1); 78 lg++; 79 for(int i=0;i<lg;i++){ 80 g[i].val=0; 81 for(int j=0;j<3;j++){ 82 g[i].val+=dist(g[i].p[j],g[i].p[j+1]); 83 } 84 } 85 sort(g,g+lg); 86 for(int i=0;i<4;i++){ 87 printf("%d %d ",g[0].p[i].x,g[0].p[i].y); 88 } 89 } 90 return 0; 91 }