A. Eevee http://codeforces.com/contest/452/problem/A
字符串水题
#include<cstdio>
#include<cstring>
using namespace std;
const int M=;
char a[][M]={"vaporeon", "jolteon", "flareon", "espeon", "umbreon", "leafeon", "glaceon", "sylveon"};
char b[M];
int main(){
int n;
while(~scanf("%d",&n)){
scanf("%s",b);
for(int i=;i<;i++){
int la=strlen(a[i]);
if(la==n){
bool flag=true;
for(int j=;j<n;j++){
if(b[j]!='.'&&b[j]!=a[i][j]){
flag=false;
break;
}
}
if(flag){
puts(a[i]);
break;
}
}
}
}
return ;
}
B. 4-point polyline http://codeforces.com/contest/452/problem/B
暴力几种画法
#include<cstdio>
#include<cstdlib>
#include<cstring>
#include<cmath>
#include<cctype>
#include<iostream>
#include<algorithm>
#include<queue>
#include<stack>
#include<vector>
#include<map>
#include<set>
#define mt(a,b) memset(a,b,sizeof(a))
using namespace std;
typedef __int64 LL;
const int inf=0x7fffffff;
const int M=;
struct point{
int x,y;
};
struct G{
point p[];
int val;
friend bool operator <(G a,G b){
return a.val>b.val;
}
}g[M];
int dist(point a,point b){
return (a.x-b.x)*(a.x-b.x)+(a.y-b.y)*(a.y-b.y);
}
int lg;
void add(int id,int x,int y){
g[lg].p[id].x=x;
g[lg].p[id].y=y;
}
int main(){
int n,m;
while(~scanf("%d%d",&n,&m)){
if(n==){
printf("0 1\n");
printf("0 %d\n",m);
printf("0 0\n");
printf("0 %d\n",m-);
continue;
}
if(m==){
printf("1 0\n");
printf("%d 0\n",n);
printf("0 0\n");
printf("%d 0\n",n-);
continue;
}
lg=;
add(,,);
add(,n,m);
add(,,m);
add(,n,);
lg++;
add(,,);
add(,n,m);
add(,n,);
add(,,m);
lg++;
add(,,);
add(,n,m);
add(,,);
add(,n-,m);
lg++;
add(,,);
add(,n,m);
add(,,);
add(,n,m-);
lg++;
add(,,);
add(,n,m);
add(,,);
add(,n-,m-);
lg++;
for(int i=;i<lg;i++){
g[i].val=;
for(int j=;j<;j++){
g[i].val+=dist(g[i].p[j],g[i].p[j+]);
}
}
sort(g,g+lg);
for(int i=;i<;i++){
printf("%d %d\n",g[].p[i].x,g[].p[i].y);
}
}
return ;
}