夢追い人

"It takes a dreamer to make a dream come true."―Vincent Willem van Gogh

SRM438,437 Easy

ミディアムは相変わらず解けません(泣

438 Div.2 Easy UnluckyNumbers

[a,b](a

方針

配列をソートしたときluckySet[i]

コード
class UnluckyNumbers {
   public:
   int getCount(vector <int> luckySet, int n)
  {
	sort(luckySet.begin(),luckySet.end());
	int i;
	bool flag=false;
	for (i=0; i<luckySet.size(); i++) {
		if (luckySet[i]==n) {
			flag=true;
			break;
		} else if (luckySet[i]>n) {
			break;
		}
	}
	if (flag) return 0;
	int upper=luckySet[i],lower=0;
	if (i-1>=0) lower=luckySet[i-1];
	int res=0;
	for (int j=lower+1; j<=n; j++) {
		for (int k=n; k<upper; k++) {
			if (j<k) res++;
		}
	}
	return res;
  }
};

437 Div.2 Easy TheBeauty

数字が与えられる。その数字がふくんでいる0〜9の種類の数を答えよ。

方針

簡単のためstringに置き換える。またsetを使えば重複のないデータ構造を扱えるので、setに出てきた数字を入れていきsetのサイズで返す。

コード
class TheBeauty {
   public:
   int find(int n)
  {
	stringstream ss; ss<<n; string st=ss.str();
	set<char> s;
	for (int i=0; i<st.length(); i++) s.insert(st[i]);
	return s.size();
  }
};