标签:
#include<stdio.h> #include<string.h> #include<iostream> #include<algorithm> using namespace std; class BearCheats{ public: string eyesight(int A, int B){ char t[256]; string s1; sprintf(t, "%d", A); s1 = t; string s2; char t2[256]; sprintf(t2,"%d",B); s2 = t2; if(s1.size()!=s2.size()) return "glasses"; int flag=0; for(int i=0;i<s1.size();i++) if(s1[i]!=s2[i]) flag++; if(flag>1) return "glasses"; return "happy"; } };
#include<stdio.h> #include<string.h> #include<iostream> #include<algorithm> #include<queue> using namespace std; class BearPlaysDiv2{ public: int vis[600][600]; struct node { int a[3]; }; string equalPiles(int A, int B, int C){ memset(vis,0,sizeof(vis)); node kiss; kiss.a[0]=A,kiss.a[1]=B,kiss.a[2]=C; int sum=kiss.a[0]+kiss.a[1]+kiss.a[2]; if(sum%3!=0) return "impossible"; sort(kiss.a,kiss.a+3); vis[kiss.a[0]][kiss.a[1]]=1; queue<node> Q; Q.push(kiss); while(!Q.empty()) { node now=Q.front(); if(now.a[0]==sum/3&&now.a[1]==sum/3) return "possible"; Q.pop(); for(int i=0;i<3;i++) { for(int j=i+1;j<3;j++) { if(now.a[i]!=now.a[j]) { node next=now; next.a[j]=next.a[j]-next.a[i]; next.a[i]=next.a[i]+next.a[i]; sort(next.a,next.a+3); if(!vis[next.a[0]][next.a[1]]) { vis[next.a[0]][next.a[1]]=1; Q.push(next); } } } } } return "impossible"; } };
C题题目好长啊,好困啊,睡觉了……
标签:
原文地址:http://www.cnblogs.com/qscqesze/p/4694968.html