結果

問題 No.405 ローマ数字の腕時計
ユーザー sk3388607083
提出日時 2018-06-24 11:10:06
言語 C++11(廃止可能性あり)
(gcc 13.3.0)
結果
WA  
実行時間 -
コード長 732 bytes
コンパイル時間 264 ms
コンパイル使用メモリ 23,552 KB
実行使用メモリ 6,944 KB
最終ジャッジ日時 2024-06-30 22:21:57
合計ジャッジ時間 1,276 ms
ジャッジサーバーID
(参考情報)
judge2 / judge4
このコードへのチャレンジ
(要ログイン)
ファイルパターン 結果
other AC * 20 WA * 7
権限があれば一括ダウンロードができます
コンパイルメッセージ
main.cpp: In function ‘int main()’:
main.cpp:8:8: warning: ignoring return value of ‘int scanf(const char*, ...)’ declared with attribute ‘warn_unused_result’ [-Wunused-result]
    8 |   scanf("%s %d", S1, &T);
      |   ~~~~~^~~~~~~~~~~~~~~~~
main.cpp:42:9: warning: ‘i’ may be used uninitialized in this function [-Wmaybe-uninitialized]
   42 |   S1[i] = '\0';
      |   ~~~~~~^~~~~~

ソースコード

diff #

#include<stdio.h>
#include<string.h>

int main(void){
  int i;
  int T;
  char S1[4];
  scanf("%s %d", S1, &T);
  if(strcmp(S1, "IX") == 0) T += 9;
  else{
    for(i = 0; S1[i] != '\0'; i++){
      if(S1[i] == 'I') T += 1;
      else if(S1[i] == 'V') T += 5;
      else if(S1[i] == 'X') T += 10;
    }
  }
  if(T >= 0) T = T % 12;
  else T = 12 - (-T % 12);
  if(T == 0) printf("XII\n");
  else if(T == 9) printf("IX\n");
  else{
    i = 0;
    while(1){
      if(T == 0) break;
      else if(T >= 10){
	S1[i] = 'X';
	T = T - 10;
	i++;
      }
      else if(T >= 5){
	S1[i] = 'V';
	T = T - 5;
	i++;
      }
      else if(T >= 1){
	S1[i] = 'I';
	T = T - 1;
	i++;
      }
    }
  }
  S1[i] = '\0';
  printf("%s\n", S1);
  return 0;
}
0