結果
問題 | No.170 スワップ文字列(Easy) |
ユーザー |
![]() |
提出日時 | 2017-07-08 19:56:30 |
言語 | C++11(廃止可能性あり) (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 1 ms / 5,000 ms |
コード長 | 559 bytes |
コンパイル時間 | 277 ms |
コンパイル使用メモリ | 23,424 KB |
実行使用メモリ | 5,248 KB |
最終ジャッジ日時 | 2024-10-06 19:52:42 |
合計ジャッジ時間 | 1,193 ms |
ジャッジサーバーID (参考情報) |
judge1 / judge2 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 21 |
コンパイルメッセージ
main.cpp:5:1: warning: ISO C++ forbids declaration of ‘main’ with no type [-Wreturn-type] 5 | main(){ | ^~~~ main.cpp: In function ‘int main()’: main.cpp:7:10: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result] 7 | scanf("%s",S); | ~~~~~^~~~~~~~
ソースコード
#include<stdio.h> #include<string.h> int num[8]; int fact(int n); main(){ char S[9]; scanf("%s",S); for(int i = 0;i < strlen(S);i++){ if(S[i] == '.'){continue;} num[i]++; for(int j = i+1;j < strlen(S);j++){ if(S[i]==S[j]){ num[i]++; S[j] = '.'; } } } int sum = 1; for(int i = 0;i < strlen(S);i++){ sum *= fact(num[i]); } printf("%d\n",fact(strlen(S))/sum-1); } int fact(int n){ if(n <= 1){return 1;} return n * fact(n-1); }