CCF模拟题——有趣的数(自己的见解)
来源:互联网 发布:网络布线 价格 编辑:程序博客网 时间:2024/06/05 10:27
问题描述
我们把一个数称为有趣的,当且仅当:
1. 它的数字只包含0, 1, 2, 3,且这四个数字都出现过至少一次。
2. 所有的0都出现在所有的1之前,而所有的2都出现在所有的3之前。
3. 最高位数字不为0。
因此,符合我们定义的最小的有趣的数是2013。除此以外,4位的有趣的数还有两个:2031和2301。
请计算恰好有n位的有趣的数的个数。由于答案可能非常大,只需要输出答案除以1000000007的余数。
输入格式
输入只有一行,包括恰好一个正整数n (4 ≤ n ≤ 1000)。
输出格式
输出只有一行,包括恰好n 位的整数中有趣的数的个数除以1000000007的余数。
样例输入
4
样例输出
3
#include<iostream>#include<cstdio>using namespace std;struct student{int A;int L;}student;int size[2]={0};struct student player[2][8];void position(int who,int lo,int ac,int li){if(lo>0){size[who]++;for(int i=size[who];i>lo;i--){player[who][i]=player[who][i-1];}player[who][lo].A=ac;player[who][lo].L=li;}}void remove(int who,int lo){if(lo>0){for(int i=lo;i<size[who];i++){player[who][i]=player[who][i+1];}size[who]--;}}void attack(int who,int ac,int li){player[1-who][ac].L-=player[who][li].A;player[who][li].L-=player[1-who][ac].A;if(player[1-who][ac].L<=0)remove(1-who,ac);if(player[who][li].L<=0)remove(who,li);}int main(){player[0][0].L=player[1][0].L=30;player[0][0].A=player[1][0].A=0;int N,lo,ac,li;int who=0;cin>>N;char str[15];while(N--){cin>>str;switch(str[0]){case 's':cin>>lo>>ac>>li;position(who,lo,ac,li);break;case 'a':cin>>ac>>li;attack(who,ac,li);break;case 'e':who=1-who;break;}}for(int i=0;i<2;i++){cout<<player[i][0].L<<endl;cout<<size[i]<<" ";for(int j=1;j<=size[i];j++){cout<<player[i][j].L<<" ";}cout<<endl;}return 0;}
0 0
- CCF模拟题——有趣的数(自己的见解)
- CCF模拟题——有趣的数详解
- ccf模拟题 有趣的数
- 有趣的数-CCF模拟题4
- CCF模拟题4-有趣的数
- CCF 模拟题 有趣的数 (数位DP)
- CCF——有趣的数
- CCF 有趣的数
- 【CCF】有趣的数
- ccf 有趣的数
- CCF 有趣的数
- CCF 有趣的数
- CCF 有趣的数
- ccf 有趣的数
- ccf有趣的数
- ccf-有趣的数
- 有趣的数-CCF
- CCF认证——有趣的数(数位DP)
- OpenStack入门笔记(一)
- OpenCV 3学习笔记(一)在Xcode中配置OpenCV3
- 常见性能优化策略的总结
- 触发器的利弊讨论
- 相邻的div层margin 负值被覆盖引起的层级(z-index)问题
- CCF模拟题——有趣的数(自己的见解)
- Android开发网【申明:来源于网络】
- RPC框架几行代码就够了
- HBase数据的读写流程总结
- TensorFlow中Sequence-to-Sequence样例代码详解
- 【泛型】案例讲解:自定义一个可以存放指定数据的容器
- web工程之SSM快速搭建示例程序
- 将字符串逆序
- jQuery AJAX中$.ajax方法参数详情级实例