Roma (a popular Russian name that means 'Roman') loves the Little Lvov Elephant's lucky numbers.
Let us remind you that lucky numbers are positive integers whose decimal representation only contains lucky digits 4 and 7. For example, numbers 47, 744, 4 are lucky and 5, 17, 467 are not.
Roma's got n positive integers. He wonders, how many of those integers have not more than k lucky digits? Help him, write the program that solves the problem.
The first line contains two integers n, k (1 ≤ n, k ≤ 100). The second line contains n integers ai (1 ≤ ai ≤ 109) — the numbers that Roma has.
The numbers in the lines are separated by single spaces.
In a single line print a single integer — the answer to the problem.
3 4 1 2 4
3
3 2 447 44 77
2
In the first sample all numbers contain at most four lucky digits, so the answer is 3.
In the second sample number 447 doesn't fit in, as it contains more than two lucky digits. All other numbers are fine, so the answer is 2.
题目大意:脑残呀,開始居然没读懂题意。给出n个数,让你看这么多数中,有多少个是包括不多于k个幸运数字的,当中4和7是幸运数字。
解题思路:直接推断每一个数数否满足情况就好了。
AC代码:
#include <stdio.h> #include <string.h> #include <iostream> #include <algorithm> #include <vector> #include <queue> #include <set> #include <map> #include <string> #include <math.h> #include <stdlib.h> #include <time.h> using namespace std; #define INF 0x7fffffff int main() { #ifdef sxk freopen("in.txt","r",stdin); #endif int n, k, t; while(scanf("%d%d",&n,&k)!=EOF) { int ans = 0; for(int i=0; i<n; i++){ scanf("%d", &t); int cnt = 0;; while(t){ int x = t%10; if(x==4 || x==7) cnt ++; t /= 10; } if(cnt <= k) ans ++; } printf("%d ", ans); } return 0; }