結果
| 問題 |
No.558 575検出するやつ
|
| コンテスト | |
| ユーザー |
jokin_tokei
|
| 提出日時 | 2017-09-12 22:07:23 |
| 言語 | C (gcc 13.3.0) |
| 結果 |
WA
|
| 実行時間 | - |
| コード長 | 3,558 bytes |
| コンパイル時間 | 316 ms |
| コンパイル使用メモリ | 33,920 KB |
| 実行使用メモリ | 5,248 KB |
| 最終ジャッジ日時 | 2024-11-07 17:26:48 |
| 合計ジャッジ時間 | 1,086 ms |
|
ジャッジサーバーID (参考情報) |
judge2 / judge5 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| sample | AC * 4 WA * 1 |
| other | AC * 8 WA * 7 |
ソースコード
#include <stdio.h>
#include <stdlib.h>
#include <string.h>
#include <math.h>
#define ARRAY_NUM 100000
void factorial_calc(); // No.500
void delete_7();
void check_575();
//void jenga(); //
//void poker();
int main(void) {
check_575();
return 0;
}
void factorial_calc() {
int n=0, sum=0;
scanf("%d", &n);
sum = n;
while (n--) { // n回ループ
if(n == 0){
break;
}
sum *= n;
}
printf("%d\n", sum % (int) pow(10, 12));
}
void delete_7() {
int n = 0, a = 0, b = 0, digit = 0;
int i = 0;
scanf("%d", &n);
for (i = 0; pow(10, i) < n; i++) {
digit = (n % (int) pow(10, i + 1)) / (int) pow(10, i);
switch (digit) {
case 7:
a += 3 * pow(10, i);
b += 4 * pow(10, i);
break;
case 8:
a += 4 * pow(10, i);
b += 4 * pow(10, i);
break;
case 9:
a += 5 * pow(10, i);
b += 4 * pow(10, i);
break;
default:
a += digit * pow(10, i);
b += 0 * pow(10, i);
}
// switch (digit) {
// case 0:
// a += 0 * pow(10, i);
// break;
// case 1:
// a += 1 * pow(10, i);
// break;
// case 2:
// a += 2 * pow(10, i);
// break;
// case 3:
// a += 3 * pow(10, i);
// break;
// case 4:
// a += 4 * pow(10, i);
// break;
// case 5:
// a += 5 * pow(10, i);
// break;
// case 6:
// a += 6 * pow(10, i);
// break;
// case 7:
// a += 3 * pow(10, i);
// b += 4 * pow(10, i);
// break;
// case 8:
// a += 4 * pow(10, i);
// b += 4 * pow(10, i);
// break;
// case 9:
// a += 5 * pow(10, i);
// b += 4 * pow(10, i);
// }
//
// if (digit < 7) {
// b += 0 * pow(10, i);
// }
}
printf("%d %d", a, b);
}
void check_575() {
int i = 0;
char str[100] = { };
char str1[] = "575";
scanf("%s", str);
for (i = 0; i < 100; i++) {
if (strcmp(&str1[0], &(str[i])) == 0) {
if (strcmp(&str1[1], &(str[i + 1])) == 0) {
if (strcmp(&str1[2], &(str[i + 2])) == 0) {
printf("YES");
return;
}
}
}
}
printf("NO");
}
void poker() {
int i, j, same_num, max_same_num, min, temp, second_same_num, pair_num;
int cards[5] = { };
i = j = max_same_num = same_num = second_same_num = pair_num = min = 0;
scanf("%d %d %d %d %d", &cards[0], &cards[1], &cards[2], &cards[3],
&cards[4]);
for (i = 0; i < 5; i++) {
for (j = i; j < 5; j++) {
if (cards[i] > cards[j]) {
temp = cards[i];
cards[i] = cards[j];
cards[j] = temp;
}
}
}
// int debug = 0;
// while (debug++ < 5) {
// printf("%d ",cards[debug-1]);
// }
for (i = 0; i < 4; i++) {
if (cards[i] == cards[i + 1]) {
same_num++;
pair_num++;
max_same_num = max_same_num > same_num ? max_same_num : same_num;
} else {
same_num = 0;
}
}
if ((cards[0] == cards[1]) && (cards[3] == cards[4])) {
second_same_num++;
}
switch (max_same_num) {
case 0:
printf("NO HAND\n");
break;
case 1:
if (pair_num == 1) {
printf("ONE PAIR\n");
} else {
printf("TWO PAIR\n");
}
break;
case 2:
if (second_same_num == 0) {
printf("THREE CARD\n");
} else {
printf("FULL HOUSE\n");
}
break;
case 3:
printf("NO HAND\n");
break;
case 4:
printf("NO HAND\n");
}
}
void jenga() {
int i, n, max, max1, max_num, count;
int list[ARRAY_NUM] = { };
max = max_num = count = 0;
scanf("%d", &n);
for (i = 0; i < n; i++) {
scanf("%d", &list[i]);
}
for (i = 0; i < n; i++) {
if (max < list[i]) {
max1 = max = list[i];
max_num = i;
}
}
max--;
while (max_num-- > 0) {
if (max == list[max_num]) {
count++;
max--;
}
}
count++; // include maxself
// printf("%d", count);
printf("%d", max1 - count);
}
jokin_tokei