TopCoder SRM 611 Division 2
250
http://community.topcoder.com/stat?c=problem_statement&pm=13038&rd=15844
"123"のような数を挟んでいないような入力でも"Interesting"を返すようなコードを書いてて落ちた
//終了後通したコード #include <iostream> #include <string> #include <vector> #include <cmath> #include <algorithm> #include <cstdlib> #include <ctime> #include <cstdio> #include <functional> #include <set> using namespace std; class InterestingNumber { public: string isInteresting(string x){ for(int i=0;i<10;i++){ int count=0; for(int j=0;j<x.size();j++) if(i+'0'==x[j]) count++; if(count!=0 && count!=2) return "Not interesting"; } for(int i=0;i<x.size();i++){ char s=x[i]; for(int j=i+1;j<x.size();j++){ if(s==x[j]){ if(j-i-1!=s-'0') return "Not interesting"; } } } return "Interesting"; } };
500
http://community.topcoder.com/stat?c=problem_statement&pm=13040&rd=15844
テストケースのgcdとlcm眺めて適当に書いたら通った
#include <iostream> #include <string> #include <vector> #include <cmath> #include <algorithm> #include <cstdlib> #include <ctime> #include <cstdio> #include <functional> #include <set> using namespace std; long gcd(long a, long b){ if(a%b==0) return b; else return gcd(b,a%b); } long lcm(long a, long b){ return a*b/gcd(a,b); } class LCMSetEasy { public: string include(vector <int> S, int x){ vector<long> v; v.push_back(1); v.push_back(1); for(int i=0;i<S.size();i++){ if(S[i]==gcd(S[i],x)) v.push_back(S[i]); } long l=lcm(v[0],v[1]); for(int i=2;i<v.size();i++) l=lcm(l,v[i]); if(l==x) return "Possible"; else return "Impossible"; } };
チャレンジ
return 1;しかやってないのを1つ撃墜
結果
xo- +1/-0 317.14pts 157th
Rating: 659->759