Time Limit: 1.0 Seconds Memory Limit: 65536K
Total Runs: 174 Accepted Runs: 93
Do you remember how Kai constructed the word "eternity" using pieces of ice as components?
Little Sheldon plays with pieces of ice, each piece has exactly one digit between 0 and 9. He wants to construct his favourite number t. He realized that digits 6 and 9 are very similar, so he can rotate piece of ice with 6 to use as 9 (and vice versa). Similary, 2 and 5 work the same. There is no other pair of digits with similar effect. He called this effect "Digital Mimicry".
Sheldon favourite number is t. He wants to have as many instances of t as possible. How many instances he can construct using the given sequence of ice pieces. He can use any piece at most once.
Input
There are multi cases, Each case the first line contains integer t (1≤t≤10000). The second line contains the sequence of digits on the pieces. The length of line is equal to the number of pieces and between 1 and 200, inclusive. It contains digits between 0 and 9.
Output
For each case, Print the required number of instances.
Sample Input
42 23454
Sample Output
2 题意: 容易懂 题目分析:直接hash求取所有数字匹配的匹配数的最小值#include <iostream> #include <cstring> #include <cstdio> #include <algorithm> using namespace std; char t[10], s[207]; int num[10],sum[10]; int main ( ) { while ( ~scanf ( "%s" , t ) ) { memset ( num , 0 , sizeof ( num ) ); memset ( sum , 0 , sizeof ( sum ) ); scanf ( "%s" , s ); int i = 0; while ( t[i] ) num[t[i]-48]++ , i++; i = 0; while ( s[i] ) sum[s[i]-48]++ , i++; int ans = 10000; if ( num[0] ) ans = min ( (int) (sum[0]/num[0]) , ans ); if ( num[1] ) ans = min ( (int)(sum[1]/num[1]) , ans ); if ( num[2]+num[5] ) ans = min ( (int)((sum[2]+sum[5])/(num[2]+num[5])) , ans ); if ( num[3] ) ans = min ( (int)(sum[3]/num[3]) , ans ); if ( num[4] ) ans = min ( (int)(sum[4]/num[4]) , ans ); if ( num[6]+num[9] ) ans = min ( (int)((sum[6]+sum[9])/(num[6]+num[9])) , ans ); if ( num[7] ) ans = min ( (int)(sum[7]/num[7]) , ans ); if ( num[8] ) ans = min ( (int)(sum[8]/num[8]) , ans ); printf ( "%d\n" , ans ); } }