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

マトリョーシカ的日常

ワクワクばらまく明日のブログ。

SRM575 div2 参戦 そして惨敗。

素数を数えるんだ!!

http://instagram.com/p/XxaGRrBBFb/


参戦した。div2。level1は15分でsubmitできて、「今日の俺は、いつもと違う!いけるぞぉ!」と調子にのっていたらlevel2が全く分からず終了してしまった。
とりあえずコードをのせておく。

#include <iostream>
#include <sstream>
#include <string>
#include <vector>
#include <algorithm>
#define print(var) std::cout<<"#var= "<<var<<std::endl
#define FOR(i,a,b) for(int i=(a);i<(b);i++)
#define REP(i,n) FOR(i,0,n)
using namespace std;
 class TheSwapsDivTwo{
	public:
	int find(vector <int> sequence) {
        int h=sequence.size(),num=0,s=0;
        FOR (i,0,h){
            FOR(j,1,h-i){
                if(sequence[i]!=sequence[i+j]) num++;
                if(sequence[i]==sequence[i+j] && s==0) s=1;
            }
        }
        num=num+s;
        cout<<num<<endl;
	return num;
	}


反省点

  • 素数を判別する関数をつくっておく。
  • while文の使い方をマスターしておく。
  • テンプレをいじっておいたので、ローカルでの検証が速くなった。うれしい。