第三章:UVa1225 解题报告
2015-04-23 00:12
316 查看
UVa1225 解题报告
这是一个考察数组操作和数字分解的十分入门的问题。基本方法是,注册一个10个int空间的数组cnt[10],枚举当前数,将其每位分解后在cnt中统计个数。分解时采用K%10,K/10的办法,并在当前数为9、99、999、9999时将记录数的位数的变量d加一。以下是代码(可直接AC):
#include <iostream> #include <string> #include <memory.h> using std::cin; using std::cout; int main() { int n,cnt[10],d; int T; cin>>T; while(T--) { cin>>n; d=1; memset(cnt,0,sizeof cnt); for(int i=1;i<=n;i++)//枚举 { int k=i; for(int j=1;j<=d;j++) {//这里进行逐位分解,d记录数的位数 cnt[k%10]++; k/=10; } if(i==9||i==99||i==999||i==9999)//位数即将变化时加一 d++; } for(int i=0;i<10;i++) if(i==9) cout<<cnt[i]<<'\n'; else cout<<cnt[i]<<' '; } return 0; }
相关文章推荐
- (解题报告)Uva-1225 --- Digit Counting
- 第三章:UVa1586 解题报告
- 第三章:UVa1588 解题报告
- UVa 1225 - Digit Counting - ACM/ICPC Danang 2007 解题报告 - C语言
- UVA136解题报告
- 解题报告 之 UVA120 Stacks of Flapjacks
- 解题报告 之 UVA11054 Wine trading in Gergovia
- UVa 1326 Jurassic Remains 解题报告(Meet-in-the-Middle)
- UVa 1450 Airport 解题报告(二分+策略)
- UVa 1382 Distant Galaxy 解题报告(枚举 + 前缀和)
- Uva 11375 Matches 解题报告(递推+高精度)
- UVA 12535 Probability Through Experiments 解题报告
- Uva 1350 - Pinary 解题报告(斐波那契+二分)
- Uva 1510 - Neon Sign 解题报告(计数)
- UVA 11090 SPFA+二分答案 解题报告
- UVA 10106 解题报告
- UVA 10474 解题报告
- uva 1025 A Spy in the Metro 解题报告
- 刘汝佳紫书 uva201 解题报告
- 解题报告(二):uva 10029 - Edit Step Ladders(dp+hash)