toj4069 간이 통계

7476 단어 통계적
문제는 매우 간단하다. 주의해야 할 것은 (2, 5)와 (6, 9)의 처리로 코드에 직접 올리는 것이다.
 1 #include <iostream>

 2 #include <cstring>

 3 #include <cstdio>

 4 using namespace std;

 5 

 6 const int INF = 1 << 29;

 7 const int N = 10;

 8 const int M = 201;

 9 int cnt1[N];

10 int cnt2[N];

11 char digit[N];

12 char str[M];

13 

14 int solve()

15 {

16     memset( cnt1, 0, sizeof(cnt1) );

17     memset( cnt2, 0, sizeof(cnt2) );

18     for ( int i = 0; i < strlen(digit); i++ )

19     {

20         cnt1[digit[i] - '0']++;

21     }

22     // (2,5)             

23     cnt1[2] += cnt1[5], cnt1[5] = cnt1[2];

24     //(6,9)   

25     cnt1[6] += cnt1[9], cnt1[9] = cnt1[6];

26     for ( int i = 0; i < strlen(str); i++ )

27     {

28         cnt2[str[i] - '0']++;

29     }

30     cnt2[2] += cnt2[5], cnt2[5] = cnt2[2];

31     cnt2[6] += cnt2[9], cnt2[9] = cnt2[6];

32     int ans = INF;

33     for ( int i = 0; i < N; i++ )

34     {

35         if ( cnt1[i] == 0 ) continue;

36         int tmp = cnt2[i] / cnt1[i];

37         if ( tmp < ans ) ans = tmp;

38     }

39     return ans;

40 }

41 

42 int main ()

43 {

44     while ( scanf("%s%s", digit, str) != EOF )

45     {

46         int ans = solve();

47         printf("%d
", ans); 48 } 49 return 0; 50 }

좋은 웹페이지 즐겨찾기