一张试卷

输入1

只有一行,有二个整数t1和t2,分别表示起始时刻和终止的时刻,起始时刻与终止时刻都是整点。

输出1

只有一行,表明有多少秒。

样例输入1
2 3
样例输出1
3600

提示1

样例说明

2表明2时,3表明3时,2时与3时之间有1小时,1小时相当于3600秒。

数据规模

起始时刻和终止的时刻之间不超过24小时。

判断特殊情况,比如3 2 a就是第一天,b就是第二天。

代码1

#include <bits/stdc++.h>
#define ll long long
using namespace std;
ll a,b;
main() {
    cin>>a>>b;
    if(a>b) b+=24;
    cout<<(b-a)*3600;
}

#include <bits/stdc++.h>
#define ll long long
using namespace std;
ll a,b;
	cin>>a>>b;
	if(a>b) b+=24;
	cout<<(b-a)*3600;
}

问题 2: 超酷的电话号码

题目描述2

输入2

输入一个电话号码,电话号码由数字、大写英文字符或者‘-’号组成,电话号码的格式统一为:xxx-xxxx-xxxx的形式。

输出2

输出对应的原号码(号码格式不变)。

样例输入2
1FE-JQTA-DDNN
样例输出2
133-5782-3366
提示2

【样例说明】

1对应数字1,字母A对应数字2,字母DEF对应数字3,J对应数字5,N对应数字6,Q对应数字7,T对应数字8。

 死判断

代码2

#include <bits/stdc++.h>
#define ll long long
using namespace std;
ll i;char a[200];
main(){
    cin>>a+1;
    for(i=1;i<=13;i++){
        if(a[i]>='A'&&a[i]<='C') cout<<2;
        else if(a[i]>='D'&&a[i]<='F') cout<<3;
        else if(a[i]>='G'&&a[i]<='I') cout<<4;
        else if(a[i]>='J'&&a[i]<='L') cout<<5;
        else if(a[i]>='M'&&a[i]<='O') cout<<6;
        else if(a[i]>='P'&&a[i]<='S') cout<<7;
        else if(a[i]>='T'&&a[i]<='V') cout<<8;
        else if(a[i]>='W'&&a[i]<='Z') cout<<9;
        else cout<<a[i];
    }
}

#include <bits/stdc++.h>
#define ll long long
using namespace std;
ll i;char a[200];
main(){
    cin>>a+1;
    for(i=1;i<=13;i++){
        if(a[i]>='A'&&a[i]<='C') cout<<2;
        else if(a[i]>='D'&&a[i]<='F') cout<<3;
        else if(a[i]>='G'&&a[i]<='I') cout<<4;
        else if(a[i]>='J'&&a[i]<='L') cout<<5;
        else if(a[i]>='M'&&a[i]<='O') cout<<6;
        else if(a[i]>='P'&&a[i]<='S') cout<<7;
        else if(a[i]>='T'&&a[i]<='V') cout<<8;
        else if(a[i]>='W'&&a[i]<='Z') cout<<9;
        else cout<<a[i];
    }
}

问题 3:3.爸爸的数学题

题目描述3

也许所有的科技迷都对数学情有独钟,小明的爸爸就是一个典型。好在小明和爸爸一样,是一个小版的数学迷。所以,小明和爸爸之间有了某种默契,每当小明有某些计划之外却又在情理之中的请求的时候,爸爸总会用考数学题的方式来决定是否答应。

比如,这一天……此处省略500个字。

于是,爸爸的数学题又神奇地出现了,题目是这个样子的:

现有一个数列x,x0 = 1,xi+1 =(xi * A + xi mod B)mod C。举个例子:当A = 2,B = 2,C = 9时,该数列的第0项x0 = 1,第1项x1 =(x0 * 2 + x0 mod 2)mod 9 = 3,第2项x2 =(x1 * 2 + x1 mod 2)mod 9 = 7,以此类推。

小明需要求出这个数列什么时候出现重复项,并告诉爸爸这一项的标号。

如果你是小明,你能顺利通过考核么?

输入3

输入包括一行,有3个正整数,分别表示A,B,C。

输出3

输出第一次出现重复项的位置,如果答案超过2000000,则输出-1。

样例输入3
2 2 9
样例输出3
4
提示3

【样例说明】

该数列对应的每一项为:1 3 7 6 3 7 6 3 7 6 ……,所以,第一次出现的重复数字是3,是第4项(从0开始编号),输出4。

【数据范围】

对于30%的数据,A <= 105,B <= 105,C <= 105;

对于100%的数据,A <= 109,B <= 109,C <= 109;

代码3

#include<bits/stdc++.h>
#define ll long long
using  namespace std;
ll a,b,c,i,mi;
struct no{
    int x,id;
}x[2000010];
bool cmp(no q,no h){
    if(q.x<h.x) return 1;
    else if(q.x==h.x&&q.id<h.id) return 1;
    else return 0;
}
main(){
    cin>>a>>b>>c;
    x[0].x=1;
    for(i=1;i<=2000000;i++){
        x[i].x=((long long)x[i-1].x*a+x[i-1].x%b)%c;
        x[i].id=i;
    }
    sort(x+1,x+2000000+1,cmp);
    mi=2e9;
    for(i=1;i<2000000;i++)
        if(x[i].x==x[i-1].x)
            mi=min(mi,x[i].id);
    if(mi==2e9) cout<<-1;
    else cout<<mi;
}

#include<bits/stdc++.h>
#define ll long long
using  namespace std;
ll a,b,c,i,mi;
struct no{
	int x,id;
}x[2000010];
bool cmp(no q,no h){
	if(q.x<h.x) return 1;
	else if(q.x==h.x&&q.id<h.id) return 1;
	else return 0;
}
main(){
	cin>>a>>b>>c;
	x[0].x=1;
	for(i=1;i<=2000000;i++){
		x[i].x=((long long)x[i-1].x*a+x[i-1].x%b)%c;
		x[i].id=i;
	}
	sort(x+1,x+2000000+1,cmp);
	mi=2e9;
	for(i=1;i<2000000;i++)
		if(x[i].x==x[i-1].x)
			mi=min(mi,x[i].id);
	if(mi==2e9) cout<<-1;
	else cout<<mi;
}

问题 4: 4. 营养膳食

题目描述4

小明的爸爸是个设备控,最爱的事情就是收集各种各样的智能设备。就在今天早上,爸爸拿来了自己的最新收藏:智能体脂健康秤,据说能测出22项身体数据。于是,小明成了这款智能秤的第一个用户。不测不知道,一测吓一跳,小明的BMI(体脂指数)严重偏低。这下可把爸爸给吓坏了,看着小明瘦弱的小身板,爸爸暗自在心里下了决定,要给小明整一个“超级增肥计划”。

为了增肥,爸爸希望小明能吃到更多的脂肪。然而也不能只吃高脂肪食品,那样的话就会导致缺少其他营养。通过研究发现:真正的营养膳食规定某类食品不宜一次性吃超过若干份。比如就一顿饭来说,肉类不宜吃超过1份,鱼类不宜吃超过1份,蛋类不宜吃超过1份,蔬菜类不宜吃超过2份。小明想要在营养膳食的情况下吃到更多的脂肪,当然他的食量也是有限的。

输入4

输入包括多行:

第一行输入三个正整数n,m,k,表示有n份食品供小明选择,小明一顿最多可以吃m份食品,食品总共分为k类。

第二行包含k个不超过10的正整数,表示每一类食品可以吃的最大份数。

接下来n行,每行包括2个正整数,分别表示该食品的脂肪指数ai和所属的类别bi。

输出4

输出包括一个数字即小明可以吃到的最大脂肪指数和。

样例输入4
6 6 3
3 3 2
15 1
15 2
10 2
15 2
10 2
5 3
样例输出4
60
提示4

【样例说明】

小明可以选择1、2、3、4、6这5份食品,或者选择1、2、4、5、6这五份食品,脂肪数均为60。

【数据范围】

对于100%的数据,n <= 200, m <= 100,k <= 100,ai <= 100,bi <= k。

代码4

#include <bits/stdc++.h>
#pragma GCC optimize("Ofast")
#define ll long long
using namespace std;
ll n,m,k,f[100010],i,s;
struct no{
    int x,y;
}a[100010];
bool cmp(no q,no h){
    return q.x>h.x;
}
main(){
    cin>>n>>m>>k;
    for(i=1;i<=k;i++) cin>>f[i];
    for(i=1;i<=n;i++) cin>>a[i].x>>a[i].y;
    sort(a+1,a+1+n,cmp);
    for(i=1;i<=n;i++)
        if(f[a[i].y]>0&&m>0)
            f[a[i].y]--,m--,s+=a[i].x;
    cout<<s;
}

#include <bits/stdc++.h>
#pragma GCC optimize("Ofast")
#define ll long long
using namespace std;
ll n,m,k,f[100010],i,s;
struct no{
	int x,y;
}a[100010];
bool cmp(no q,no h){
	return q.x>h.x;
}
main(){
	cin>>n>>m>>k;
	for(i=1;i<=k;i++) cin>>f[i];
	for(i=1;i<=n;i++) cin>>a[i].x>>a[i].y;
	sort(a+1,a+1+n,cmp);
	for(i=1;i<=n;i++)
		if(f[a[i].y]>0&&m>0)
			f[a[i].y]--,m--,s+=a[i].x;
	cout<<s; 
}

目录

问题 1: 1.时间

题目描述1

输入1

输出1

样例输入1

样例输出1

提示1

代码1

问题 2: 超酷的电话号码

题目描述2

输入2

输出2

样例输入2

样例输出2

提示2

代码2

问题 3:3.爸爸的数学题

题目描述3

输入3

输出3

样例输入3

样例输出3

提示3

代码3

问题 4: 4. 营养膳食

题目描述4

输入4

输出4

样例输入4

样例输出4

提示4

代码4


  • 23
    点赞
  • 11
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值