Codeforces Round #306 (Div. 2)
Posted 萌萌的美男子
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Codeforces Round #306 (Div. 2)相关的知识,希望对你有一定的参考价值。
C. Divisibility by Eight
题意:给出一串数字字符串,问能否去掉一些位置的数字字符使得剩下的数字字符形成的数能被8整除?
思路:只需存在一个3位数,其能被8整除即可(8*125=1000)。
1 #include<iostream> 2 #include<cstdio> 3 #include<cstring> 4 using namespace std; 5 char s[110]; 6 7 int main() 8 { 9 scanf("%s", s); 10 int len = strlen(s); 11 bool flag = false; 12 for (int i = 0;!flag&& i < len; i++) 13 { 14 int ret = s[i] - ‘0‘; 15 if (ret % 8 == 0) 16 { 17 printf("YES\n%d\n", ret); 18 flag = true; 19 break; 20 } 21 for (int j = i + 1;!flag&& j < len; j++) 22 { 23 int ret2 = ret * 10 + s[j] - ‘0‘; 24 if (ret2 % 8 == 0) 25 { 26 printf("YES\n%d\n", ret2); 27 flag = true; 28 break; 29 } 30 for (int k = j + 1; !flag&& k < len; k++) 31 { 32 int ret3 = ret2 * 10 + s[k] - ‘0‘; 33 if (ret3 % 8 == 0) 34 { 35 printf("YES\n%d\n", ret3); 36 flag = true; 37 break; 38 } 39 } 40 } 41 } 42 if (!flag) printf("NO\n"); 43 return 0; 44 }
以上是关于Codeforces Round #306 (Div. 2)的主要内容,如果未能解决你的问题,请参考以下文章
Codeforces Round #306 (Div. 2) 题解
Codeforces Round #306 (Div. 2) A
「日常训练」Two Substrings(Codeforces Round 306 Div.2 A)
「日常训练」Regular Bridge(Codeforces Round 306 Div.2 D)
「日常训练」Divisibility by Eight(Codeforces Round 306 Div.2 C)
「日常训练」Brackets in Implications(Codeforces Round 306 Div.2 E)