読者です 読者をやめる 読者になる 読者になる

精進

勉強したこととか

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