TT数鸭子
題目描述
這一天,TT因為疫情在家憋得難受,在云吸貓一小時后,TT決定去附近自家的山頭游玩。
TT來到一個小湖邊,看到了許多在湖邊嬉戲的鴨子,TT頓生羨慕。此時他發(fā)現(xiàn)每一只鴨子都不
一樣,或羽毛不同,或性格不同。TT在腦子里開了一個map<鴨子,整數(shù)> tong,把鴨子變成了
一些數(shù)字。現(xiàn)在他好奇,有多少只鴨子映射成的數(shù)的數(shù)位中不同的數(shù)字個數(shù)小于k。
輸入描述
輸入第一行包含兩個數(shù)n,k,表示鴨子的個數(shù)和題目要求的k。
接下來一行有n個數(shù), a i a_i ai?,每個數(shù)表示鴨子被TT映射之后的值。
輸出描述
輸出一行,一個數(shù),表示滿足題目描述的鴨子的個數(shù)。
無行末空格
樣例輸入
樣例輸出
4數(shù)據(jù)組成
| 1 | n<=1000 | k=10 | 1 0 6 10^6 106 |
| 2 | n<=1000 | k=1 | 1 0 6 10^6 106 |
| 3,4,5 | n<= 1 0 5 10^5 105 | k<=100 | 1 0 9 10^9 109 |
| 6,7,8,9,10 | n<= 1 0 6 10^6 106 | k<= 1 0 6 10^6 106 | 1 0 15 10^{15} 1015 |
思路:
數(shù)字中最大可能出現(xiàn)的個數(shù)是10;
暴力統(tǒng)計即可。
代碼:
#include <algorithm> #include <cstdio> #include <cstring> using namespace std; int n,k,cnt=0,ans=0,a[10]; char s[20]; //讀數(shù)int main() {scanf("%d %d",&n,&k);for(int i=1;i<=n;i++){memset(a,0,sizeof(a)); //每次清零cnt=0; scanf("%s",s);int len =strlen(s);for(int j=0;j<len;j++) {a[s[j]-'0']++; //標(biāo)記 出現(xiàn)的數(shù)}for(int j=0;j<10;j++){if(a[j]) cnt++; //統(tǒng)計出現(xiàn)了幾個不同的數(shù)}if(cnt<k) ans++; //統(tǒng)計答案}printf("%d\n",ans);return 0; }總結(jié)
- 上一篇: 递归陷入死循环的判断方法与解决措施(ja
- 下一篇: 乔布斯写给妻子的信