結果
| 問題 | No.39 桁の数字を入れ替え | 
| コンテスト | |
| ユーザー |  37kt_ | 
| 提出日時 | 2016-01-29 09:19:23 | 
| 言語 | C++11(廃止可能性あり) (gcc 13.3.0) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 2 ms / 5,000 ms | 
| コード長 | 3,262 bytes | 
| コンパイル時間 | 1,490 ms | 
| コンパイル使用メモリ | 160,120 KB | 
| 実行使用メモリ | 5,248 KB | 
| 最終ジャッジ日時 | 2024-10-02 06:50:49 | 
| 合計ジャッジ時間 | 2,017 ms | 
| ジャッジサーバーID (参考情報) | judge3 / judge1 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | AC * 19 | 
コンパイルメッセージ
main.cpp: In function ‘std::ostream& operator<<(std::ostream&, const std::tuple<_Tps ...>&)’:
main.cpp:163:1: warning: no return statement in function returning non-void [-Wreturn-type]
  163 | }
      | ^
main.cpp: In function ‘std::string inS()’:
main.cpp:133:14: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
  133 |         scanf("%s", s);
      |         ~~~~~^~~~~~~~~
            
            ソースコード
// template {{{
#include <bits/stdc++.h>
using namespace std;
// #define int long long
#define GET_MACRO(a, b, c, d, NAME, ...) NAME
#define REP2(i, n) REP3(i, 0, n)
#define REP3(i, a, b) REP4(i, a, b, 1)
#define REP4(i, a, b, s) for (ll i = (a); i < (ll)(b); i += s)
#define RREP2(i, n) RREP3(i, 0, n)
#define RREP3(i, a, b) for (ll i = (b) - 1; i >= (ll)(a); i--)
#define rep(...) GET_MACRO(__VA_ARGS__, REP4, REP3, REP2)(__VA_ARGS__)
#define rrep(...) GET_MACRO(__VA_ARGS__,, RREP3, RREP2)(__VA_ARGS__)
#define eb emplace_back
#define ef emplace_front
#define pb pop_back
#define pf pop_front
#define all(c) begin(c), end(c)
#define mp make_pair
#define mt make_tuple
#define fi first
#define se second
#define popcnt __builtin_popcountll
#ifdef DEBUG
	#define dump(x) cerr << "line " << __LINE__ << " : " << #x " = " << x << endl;
#else
	#define dump(x)
#endif
using uint = unsigned;
using ll = long long;
using ull = unsigned long long;
using ld = long double;
using vi = vector<int>;
using vvi = vector<vi>;
template<typename T>
using maxheap = priority_queue<T, vector<T>, less<T>>;
template<typename T>
using minheap = priority_queue<T, vector<T>, greater<T>>;
const int INF = 1e9 + 10;
const ll LLINF = 1e18 + 10;
const int dx[] = {-1, 0, 1, 0, -1, 1, 1, -1};
const int dy[] = {0, -1, 0, 1, -1, -1, 1, 1};
template<typename T>
inline T sq(T x){
	return x * x;
}
template<typename T, typename U>
inline bool chmax(T &x, U y){
	if (x >= y) return false;
	x = y;
	return true;
}
template<typename T, typename U>
inline bool chmin(T &x, U y){
	if (x <= y) return false;
	x = y;
	return true;
}
template<typename T>
inline T& sort(T &c){
	sort(all(c));
	return c;
}
template<typename T>
inline T& reverse(T &c){
	reverse(all(c));
	return c;
}
template<typename T>
inline T& unique(T &c){
	sort(all(c));
	c.erase(unique(all(c)), end(c));
	return c;
}
template<typename T>
inline T sorted(const T &c){
	T d = c;
	return move(sort(d));
}
template<typename T>
inline T reversed(const T &c){
	T d = c;
	return move(reverse(d));
}
template<typename T>
inline T uniqued(const T &c){
	T d = c;
	return move(unique(d));
}
ll modpow(ll x, ll e, ll mod = 1000000007){
	ll res = 1;
	e %= mod - 1;
	while (e){
		if (e & 1) res = res * x;
		x = x * x;
		e >>= 1;
	}
	return res;
}
inline ll in(){
	ll x;
	scanf("%lld", &x);
	return x;
}
inline double inD(){
	double x;
	scanf("%lf", &x);
	return x;
}
inline string inS(){
	static char s[1024];
	scanf("%s", s);
	return s;
}
pair<ll, ll> rot45(ll x, ll y){
	return mp(x + y, x - y);
}
pair<ll, ll> rot45inv(ll u, ll v){
	return mp((u + v) / 2, (u - v) / 2);
}
template<typename T, size_t N>
struct print_tuple {
	static void print(const T &t, ostream &os){
		print_tuple<T, N - 1>::print(t, os);
		os << " " << get<N - 1>(t);
	}
};
template<typename T>
struct print_tuple<T, 1> {
	static void print(const T &t, ostream &os){
		os << get<0>(t);
	}
};
template<typename ...Args>
ostream& operator<<(ostream &os, const tuple<Args...> &t){
	print_tuple<tuple<Args...>, tuple_size<tuple<Args...>>::value>::print(t, os);
}
// }}}
int main()
{
	string s = inS();
	ll res = 0;
	rep(i, s.size()) rep(j, s.size()){
		swap(s[i], s[j]);
		chmax(res, stoi(s));
		swap(s[i], s[j]);
	}
	cout << res << endl;
}
            
            
            
        