提出 #577320


ソースコード 拡げる

#include <cstdio>
#include <cstring>
#include <cstdlib>
#include <algorithm>
using namespace std;
char str[12];
char a[12];
bool used[12];
int len;
long long ten[12],s;
char ans[12];
long long ansdis=-1;
inline long long my_abs(long long x)
{
	return x>0?x:-x;
}
inline long long dis(long long a, long long b)
{
	return min(my_abs(a-b),ten[len]-my_abs(a-b));
}
void dfs(int d)
{
	if(d==len)
	{
		a[d]='\0';
		long long s1=0;
		for(int i=0;i<len;i++)
			s1=s1*10+(a[i]-'0');
		long long d1=dis(s,s1);
		if(d1>ansdis)
		{
			strcpy(ans,a);
			ansdis=d1;
		}
		return;
	}
	for(int i=0;i<10;i++)
		if(!used[i])
		{
			used[i]=true;
			a[d]=i+'0';
			dfs(d+1);
			used[i]=false;
		}
}
int main()
{
	ten[0]=1;
	for(int i=1;i<=10;i++)
		ten[i]=ten[i-1]*10;
	fill(used,used+12,0);
	scanf("%s",str);
	len=strlen(str);
	s=0;
	for(int i=0;i<len;i++)
		s=s*10+(str[i]-'0');
	dfs(0);
	printf("%s\n",ans);
	return 0;
}

提出情報

提出日時
問題 B - Change a Password
ユーザ NCTU_Ravenclaw
言語 C++11 (GCC 4.8.1)
得点 100
コード長 965 Byte
結果 AC
実行時間 320 ms
メモリ 804 KiB

コンパイルエラー

./Main.cpp: In function ‘int main()’:
./Main.cpp:52:17: warning: ignoring return value of ‘int scanf(const char*, ...)’, declared with attribute warn_unused_result [-Wunused-result]
  scanf("%s",str);
                 ^

ジャッジ結果

セット名 All
得点 / 配点 100 / 100
結果
AC × 61
セット名 テストケース
All 00_test_00, 00_test_01, 00_test_02, 00_test_03, 01_rand_00, 01_rand_01, 01_rand_02, 01_rand_03, 01_rand_04, 01_rand_05, 01_rand_06, 01_rand_07, 01_rand_08, 01_rand_09, 01_rand_10, 01_rand_11, 01_rand_12, 01_rand_13, 01_rand_14, 01_rand_15, 01_rand_16, 01_rand_17, 01_rand_18, 01_rand_19, 01_rand_20, 01_rand_21, 01_rand_22, 01_rand_23, 01_rand_24, 01_rand_25, 01_rand_26, 01_rand_27, 01_rand_28, 01_rand_29, 01_rand_30, 01_rand_31, 01_rand_32, 01_rand_33, 01_rand_34, 01_rand_35, 01_rand_36, 01_rand_37, 01_rand_38, 01_rand_39, 01_rand_40, 01_rand_41, 01_rand_42, 01_rand_43, 01_rand_44, 01_rand_45, 01_rand_46, 01_rand_47, 01_rand_48, 01_rand_49, 99_handmake_00, 99_handmake_01, 99_handmake_02, 99_handmake_03, 99_handmake_04, 99_handmake_05, 99_handmake_06
ケース名 結果 実行時間 メモリ
00_test_00 AC 23 ms 792 KiB
00_test_01 AC 23 ms 692 KiB
00_test_02 AC 22 ms 800 KiB
00_test_03 AC 201 ms 668 KiB
01_rand_00 AC 99 ms 640 KiB
01_rand_01 AC 195 ms 796 KiB
01_rand_02 AC 99 ms 796 KiB
01_rand_03 AC 29 ms 788 KiB
01_rand_04 AC 30 ms 764 KiB
01_rand_05 AC 28 ms 672 KiB
01_rand_06 AC 28 ms 796 KiB
01_rand_07 AC 44 ms 672 KiB
01_rand_08 AC 96 ms 800 KiB
01_rand_09 AC 285 ms 796 KiB
01_rand_10 AC 23 ms 704 KiB
01_rand_11 AC 22 ms 704 KiB
01_rand_12 AC 26 ms 796 KiB
01_rand_13 AC 190 ms 800 KiB
01_rand_14 AC 22 ms 708 KiB
01_rand_15 AC 46 ms 792 KiB
01_rand_16 AC 24 ms 648 KiB
01_rand_17 AC 93 ms 704 KiB
01_rand_18 AC 22 ms 796 KiB
01_rand_19 AC 30 ms 792 KiB
01_rand_20 AC 23 ms 800 KiB
01_rand_21 AC 22 ms 796 KiB
01_rand_22 AC 309 ms 672 KiB
01_rand_23 AC 22 ms 704 KiB
01_rand_24 AC 22 ms 804 KiB
01_rand_25 AC 93 ms 800 KiB
01_rand_26 AC 310 ms 708 KiB
01_rand_27 AC 21 ms 804 KiB
01_rand_28 AC 97 ms 712 KiB
01_rand_29 AC 307 ms 796 KiB
01_rand_30 AC 46 ms 672 KiB
01_rand_31 AC 285 ms 800 KiB
01_rand_32 AC 23 ms 708 KiB
01_rand_33 AC 22 ms 796 KiB
01_rand_34 AC 98 ms 800 KiB
01_rand_35 AC 23 ms 792 KiB
01_rand_36 AC 45 ms 796 KiB
01_rand_37 AC 22 ms 800 KiB
01_rand_38 AC 22 ms 804 KiB
01_rand_39 AC 46 ms 700 KiB
01_rand_40 AC 295 ms 796 KiB
01_rand_41 AC 45 ms 800 KiB
01_rand_42 AC 22 ms 800 KiB
01_rand_43 AC 293 ms 800 KiB
01_rand_44 AC 44 ms 712 KiB
01_rand_45 AC 23 ms 708 KiB
01_rand_46 AC 44 ms 796 KiB
01_rand_47 AC 192 ms 800 KiB
01_rand_48 AC 22 ms 700 KiB
01_rand_49 AC 23 ms 716 KiB
99_handmake_00 AC 312 ms 796 KiB
99_handmake_01 AC 312 ms 668 KiB
99_handmake_02 AC 306 ms 796 KiB
99_handmake_03 AC 320 ms 792 KiB
99_handmake_04 AC 309 ms 796 KiB
99_handmake_05 AC 320 ms 800 KiB
99_handmake_06 AC 306 ms 708 KiB