C. Divisibility by Eight暴力枚举

Posted 辉小歌

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了C. Divisibility by Eight暴力枚举相关的知识,希望对你有一定的参考价值。


暴力枚举即可。枚举1位这种情况,枚举2位这种情况,枚举3位这种情况。
3位满足足以,其他的4位,5位。。。都包含1000必定满足。

#include<bits/stdc++.h>
using namespace std;
const int N=1e5+10;
int st[N];
int main(void)

    string s; cin>>s;
    for(int i=1;i<=1000;i++) if(i%8==0) st[i]++;
    st[0]=1;
    for(int i=0;i<s.size();i++)
    
        if(st[s[i]-'0'])
        
            puts("YES");
            cout<<s[i]-'0';
            return 0;
        
    
    for(int i=0;i<s.size();i++)
    
        for(int j=i+1;j<s.size();j++)
        
            int sum=(s[i]-'0')*10+s[j]-'0';
            if(st[sum])
            
                puts("YES");
                cout<<sum;
                return 0;
            
        
    
    for(int i=0;i<s.size();i++)
    
        for(int j=i+1;j<s.size();j++)
        
            for(int k=j+1;k<s.size();k++)
            
                int sum=(s[i]-'0')*100+(s[j]-'0')*10+s[k]-'0';
                if(st[sum])
                
                    puts("YES");
                    cout<<sum;
                    return 0;
                
            
        
    
    puts("NO");
    return 0;

以上是关于C. Divisibility by Eight暴力枚举的主要内容,如果未能解决你的问题,请参考以下文章

cf550C. Divisibility by Eight(结论)

CodeForces - 550C Divisibility by Eight

「日常训练」Divisibility by Eight(Codeforces Round 306 Div.2 C)

Codeforces 988E. Divisibility by 25

CF 988E Divisibility by 25 思维 第十二

Codeforces Round #486 (Div. 3) E. Divisibility by 25