这些题是真的够水的啊!

来源:互联网 发布:哪些网络装修公司好 编辑:程序博客网 时间:2024/06/10 17:39

话说上午打了一场小小的比赛,全都是long long 型的,而且动不动就会超时,对此真的好没法。

整除的尾数

Description

一个整数,只知道前几位,不知道末二位,被另一个整数除尽了,那么该数的末二位该是什么呢?
 

Input

输入数据有若干组,每组数据包含二个整数a,b(0<a<10000, 10<b<100),若遇到0 0则处理结束。
 

Output

对应每组数据,将满足条件的所有尾数在一行内输出,格式见样本输出。同组数据的输出,其每个尾数之间空一格,行末没有空格。
 

Sample Input

200 401992 950 0
#include<bits/stdc++.h>using namespace std;int main(){    int a,b,i,n;    int f[100];    while(cin>>a>>b&&a&&b)    {        n=0;        for(i=0; i<100; i++)        {            if((a*100+i)%b==0)                f[n++]=i;        }        for(i=0; i<n; i++)        {            if(i==n-1)            {                if(f[i]<10)                    printf("0%d\n",f[i]);                else printf("%d\n",f[i]);            }            else            {                if(f[i]<10)                    printf("0%d ",f[i]);                else printf("%d ",f[i]);            }        }    }    return 0;}


Jzzhu and Sequences

Description

Jzzhu has invented a kind of sequences, they meet the following property:

You are given x and y, please calculate fn modulo1000000007(109 + 7).

Input

The first line contains two integers x andy(|x|, |y| ≤ 109). The second line contains a single integern(1 ≤ n ≤ 2·109).

Output

Output a single integer representing fn modulo1000000007(109 + 7).

Sample Input

Input
2 33
Output
1
Input
0 -12
Output
1000000006

Hint

In the first sample, f2 = f1 + f3,3 = 2 + f3,f3 = 1.

In the second sample, f2 =  - 1; - 1 modulo(109 + 7) equals(109 + 6).

这是一道找规律的题,只有找到了规律,才不会爆掉,直接做就直接被爆掉吧!

#include<stdio.h>#define M 1000000007int main(){     int sum,x,y,i,f[12];    long long int n;    while(~ scanf("%d%d",&x,&y))    {        scanf("%lld",&n);        f[1]=x;        f[2]=y;        for(i=3; i<7; i++)        {            f[i]=f[i-1]-f[i-2];        }        n=n%6;        if(n==0)        {      n+=6;     }        sum=f[n]%M;        if(sum<0)        {     sum+=M;          }            printf("%d\n",sum);    }}

D. Queue

Description

Little girl Susie went shopping with her mom and she wondered how to improve service quality.

There are n people in the queue. For each person we know timeti needed to serve him. A person will be disappointed if the time he waits is more than the time needed to serve him. The time a person waits is the total time when all the people who stand in the queue in front of him are served. Susie thought that if we swap some people in the queue, then we can decrease the number of people who are disappointed.

Help Susie find out what is the maximum number of not disappointed people can be achieved by swapping people in the queue.

Input

The first line contains integer n (1 ≤ n ≤ 105).

The next line contains n integers ti (1 ≤ ti ≤ 109), separated by spaces.

Output

Print a single number — the maximum number of not disappointed people in the queue.

Sample Input

Input
515 2 1 5 3
Output
4

Hint

Value 4 is achieved at such an arrangement, for example:1, 2, 3, 5, 15. Thus, you can make everything feel not disappointed except for the person with time 5.

排队的题,未节约时间,如果调换排队的人的位置,使最大人数的使队排列在可忍受的范围内,这就需要把前面n个人的时间相加,看看是否第n+1个人可以忍受,在范围内,则cnt++;

#include<bits/stdc++.h>using namespace std;int main(){    long long  int i,n,cnt,a[1000100];    long long int s;    while(cin>>n)    {        cnt=1;        for(i=0; i<n; i++)        {            cin>>a[i];        }        sort(a,a+n);        s=a[0];        for(i=1; i<n; i++)        {            if(s<=a[i])            {                cnt++;                s+=a[i];            }        }        cout<<cnt<<endl;    }    return 0;}

0 0
原创粉丝点击