USACO 2.2 Preface Numbering

TASK: preface
LANG: C++

Compiling...
Compile: OK

Executing...
   Test 1: TEST OK [0.000 secs, 3024 KB]
   Test 2: TEST OK [0.000 secs, 3024 KB]
   Test 3: TEST OK [0.000 secs, 3024 KB]
   Test 4: TEST OK [0.000 secs, 3024 KB]
   Test 5: TEST OK [0.000 secs, 3024 KB]
   Test 6: TEST OK [0.000 secs, 3024 KB]
   Test 7: TEST OK [0.000 secs, 3024 KB]
   Test 8: TEST OK [0.000 secs, 3024 KB]

All tests OK.
 
  
1 /*
2 ID: jiafeim1
3 PROG: preface
4 LANG: C++
5 */
6 #include < iostream >
7 #include < fstream >
8 #include < algorithm >
9 using namespace std;
10
11 #define maxN(x,y) ((x)>(y)?(x):(y))
12
13 int res[ 8 ] = { 0 };
14 int ge[ 12 ][ 11 ] = { 0 };
15 int main()
16 {
17 ofstream fout ( " preface.out " );
18 ifstream fin ( " preface.in " );
19
20 ge[ 1 ][ 0 ] = 1 ;
21 ge[ 2 ][ 0 ] = 2 ;
22 ge[ 3 ][ 0 ] = 3 ;
23 ge[ 4 ][ 0 ] = 1 ;
24 ge[ 4 ][ 1 ] = 1 ;
25 ge[ 5 ][ 1 ] = 1 ;
26 ge[ 6 ][ 0 ] = 1 ;
27 ge[ 6 ][ 1 ] = 1 ;
28 ge[ 7 ][ 0 ] = 2 ;
29 ge[ 7 ][ 1 ] = 1 ;
30 ge[ 8 ][ 0 ] = 3 ;
31 ge[ 8 ][ 1 ] = 1 ;
32 ge[ 9 ][ 0 ] = 1 ;
33 ge[ 9 ][ 2 ] = 1 ;
34 char str[ 19 ] = " IVXLCDM " ;
35 // 0123456
36 int n ;
37 fin >> n;
38 for ( int i = 1 ;i <= n; ++ i)
39 {
40 int g = i % 10 ;
41 int s = (i / 10 ) % 10 ;
42 int b = (i / 100 ) % 10 ;
43 int q = i / 1000 ;
44 res[ 0 ] += ge[g][ 0 ];
45 res[ 1 ] += ge[g][ 1 ];
46 res[ 2 ] += ge[g][ 2 ] + ge[s][ 0 ];
47 res[ 3 ] += ge[s][ 1 ];
48 res[ 4 ] += ge[s][ 2 ] + ge[b][ 0 ];
49 res[ 5 ] += ge[b][ 1 ];
50 res[ 6 ] += ge[b][ 2 ] + ge[q][ 0 ];
51 }
52
53 for ( int i = 0 ;i <= 6 ; ++ i)
54 {
55 if (res[i] != 0 )
56 {
57 fout << str[i] << " " << res[i] << endl;
58 }
59 }
60 fin.close();
61 fout.close();
62 return 0 ;
63 }

转载于:https://www.cnblogs.com/huanyan/archive/2011/05/04/USACO_Preface_Numbering.html

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值