今日の競技プログラミング

Atcoder Beginner Contest001を解きました。うーん001は参加してなかったっけとか思いながら...

まずはA問題
整数の入力を2つ受け取り、その差分を表示する問題。

次にB問題
整数の入力を1つ受け取り、その入力に従って処理を分岐させる問題。

C問題を解こうとした所で集中力が切れたので、一旦休憩です。
入力変数を問題文に合わせていこうかなと思います。

Atcoder Beginner Contest001

topcoder583_div2_easy

#include <algorithm>
#include <iostream>
#include <map>
#include <numeric>
#include <set>
#include <sstream>
#include <string>
#include <vector>
using namespace std;

#define FOR(i,s,e) for (int i = int(s); i != int(e); i++)
#define FORIT(i,c) for (typeof((c).begin()) i = (c).begin(); i != (c).end(); i++)
#define ISEQ(c) (c).begin(), (c).end()

class SwappingDigits {

	public: string minNumber(string num)
	{
		int ns = num.size();
		string temp_min = num;

		for(int i = 0; i < ns; i++)
		{
			for(int j = 0; j < ns; j++)
			{
				string temp = num;
				swap(temp[i],temp[j]);
				if(temp[0] == '0')continue;

				if(temp < temp_min)
				{
					temp_min = temp;
				}
			}
		}
		return temp_min;
	}

};