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 }
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 }