#include #include #include #include #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); }