Codeforces Round #160 (Div. 2)---A. Roma and Lucky Numbers

幸运数字计数器
本文介绍了一个编程问题的解决方法,该问题是计算一组给定正整数中包含不多于k个幸运数字(4和7)的数量。通过遍历每个数字并检查其包含的幸运数字数量来实现。

time limit per test
1 second
memory limit per test
256 megabytes
input
standard input
output
standard output

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 477444 are lucky and 517467 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.

Input

The first line contains two integers nk (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.

Output

In a single line print a single integer — the answer to the problem.

Sample test(s)
input
3 4
1 2 4
output
3
input
3 2
447 44 77
output
2
Note

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\n", ans);
    }
    return 0;
}





转载于:https://www.cnblogs.com/gcczhongduan/p/4553046.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值