CodeForces 550C Divisibility by Eight 简单题算是找规律?
来源:互联网 发布:模拟约瑟夫环 java 编辑:程序博客网 时间:2024/05/21 07:05
You are given a non-negative integer n, its decimal representation consists of at most 100 digits and doesn't contain leading zeroes.
Your task is to determine if it is possible in this case to remove some of the digits (possibly not remove any digit at all) so that the result contains at least one digit, forms a non-negative integer, doesn't have leading zeroes and is divisible by 8. After the removing, it is forbidden to rearrange the digits.
If a solution exists, you should print it.
The single line of the input contains a non-negative integer n. The representation of number n doesn't contain any leading zeroes and its length doesn't exceed 100 digits.
Print "NO" (without quotes), if there is no such way to remove some digits from number n.
Otherwise, print "YES" in the first line and the resulting number after removing digits from number n in the second line. The printed number must be divisible by 8.
If there are multiple possible answers, you may print any of them.
3454
YES344
10
YES0
111111
NO
这道题...个人感觉偏向于找规律之类的?反正和网上大牛们的做法不是太一样,大牛们都是找后三位可以被8整除就可以,但是我把表打出来了,可能还是蠢了点
#include <bits/stdc++.h>using namespace std;int main(){ string a; int len,c[10]={0,6,4,2,0,6,4,2,0,6},d[10]={0,2,0,6,4,2,8,6,0,2}; while(cin>>a) { len=a.size(); for(int i=0;i<len;i++) { if(a[i]=='0'||a[i]=='8') { cout<<"YES"<<endl<<a[i]<<endl; goto A; } else { for(int j=i+1;j<len;j++) { if(a[j]==c[a[i]-'0']+'0') { cout<<"YES"<<endl<<a[i]<<a[j]<<endl; goto A; } } } if((a[i]-'0')&1) { for(int j=i+1;j<len;j++) { if(d[a[j]-'0']!=0) { for(int k=j+1;k<len;k++) { if(a[k]==d[a[j]-'0']+'0') { cout<<"YES"<<endl<<a[i]<<a[j]<<a[k]<<endl; goto A; } } } } } } cout<<"NO"<<endl; A:; } return 0;}
- CodeForces 550C Divisibility by Eight 简单题算是找规律?
- CodeForces 550C Divisibility by Eight (规律,暴力)
- cf 550c Divisibility by Eight 【规律】
- CODEFORCES 550 C. Divisibility by Eight
- codeforces 550C Divisibility by Eight(数学题)
- CodeForces 550C Divisibility by Eight(枚举)
- Codeforces 550 C. Divisibility by Eight
- 【codeforces 550C】Divisibility by Eight
- CodeForces 550C Divisibility by Eight 数学 枚举
- codeforces 550C Divisibility by Eight (暴力)
- Codeforces Divisibility by Eight
- Codeforces 550C Divisibility by Eight【数学思维题】好题!
- C. Divisibility by Eight
- 550C Divisibility by Eight(还是枚举)
- codeforce 550c Divisibility by Eight (DFS)
- Codeforces Round #306 (Div. 2)C. Divisibility by Eight--模拟
- Codeforces Round #306 (Div. 2) C.Divisibility by Eight
- codeforces #306 550C C. Divisibility by Eight(同余模定理+枚举)
- 课程学习方法体系
- functions setting in R
- DataGridView的VirtualMode,在大容量数据加载时特别有用
- CSS margin 属性
- android学习笔记之四:四大组件之BroadcastReceiver
- CodeForces 550C Divisibility by Eight 简单题算是找规律?
- 顺序表的删除操作
- Ubuntu 16安装vmware tools
- 双机调度问题
- [LeetCode] Add Two Numbers
- 第九周项目2- 对称矩阵压缩存储的实现与应用(1)
- 【机器学习笔记1】Logistic回归总结
- 排序八 基数排序
- 实例详解CSS中position的fixed属性使用