結果
| 問題 | No.39 桁の数字を入れ替え | 
| コンテスト | |
| ユーザー |  myanta | 
| 提出日時 | 2017-05-04 21:08:00 | 
| 言語 | C++11(廃止可能性あり) (gcc 13.3.0) | 
| 結果 | 
                                AC
                                 
                             | 
| 実行時間 | 1 ms / 5,000 ms | 
| コード長 | 496 bytes | 
| コンパイル時間 | 191 ms | 
| コンパイル使用メモリ | 23,552 KB | 
| 実行使用メモリ | 5,248 KB | 
| 最終ジャッジ日時 | 2024-10-02 07:19:24 | 
| 合計ジャッジ時間 | 817 ms | 
| ジャッジサーバーID (参考情報) | judge1 / judge5 | 
(要ログイン)
| ファイルパターン | 結果 | 
|---|---|
| other | AC * 19 | 
ソースコード
#include<cstdio>
void swap(char& a, char& b)
{
	char c;
	c=a;
	a=b;
	b=c;
}
int main(void)
{
	char n[9+2];
	int i, max_n, max_i, s;
	while(scanf("%[0-9]%*[\n]", n)==1)
	{
		for(s=0;n[s];s++)
		{
			max_i=s;
			max_n=n[max_i];
			for(i=s+1;n[i];i++)
			{
				if(max_n<=n[i])
				{
					max_n=n[i];
					max_i=i;
				}
			}
			for(i=0;i<max_i;i++)
			{
				if(n[i]<max_n)
				{
					swap(n[i], n[max_i]);
					break;
				}
			}
			if(i<max_i) break;
		}
		printf("%s\n", n);
	}
	return 0;
}
            
            
            
        