博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
2019省赛训练组队赛4.11周四 2014浙江省赛
阅读量:5094 次
发布时间:2019-06-13

本文共 10114 字,大约阅读时间需要 33 分钟。

A - Pokemon Master

Calem and Serena are pokemon masters. One day they decided to have a pokemon battle practice before Pokemon World Championships. Each of them has some pokemons in each's team. To make the battle more interesting, they decided to use a special rule to determine the winner: the team with heavier total weight will win the battle!

Input

There are multiple test cases. The first line of input contains an integer Tindicating the number of test cases. For each test case:

The first line contains two integers N and M (1 <= NM <= 6), which describes that Calem has N pokemons and Serena has M pokemons.

The second line contains N integers indicating the weight of Calem's pokemons. The third line contains M integers indicating the weight of Serena's pokemons. All pokemons' weight are in the range of [1, 2094] pounds.

<h4< dd="">Output

For each test case, output "Calem" if Calem's team will win the battle, or "Serena" if Serena's team will win. If the two team have the same total weight, output "Draw" instead.

<h4< dd="">Sample Input

16 613 220 199 188 269 1014101 176 130 220 881 396 代码:
#include
using namespace std;int main(){ int T; scanf("%d",&T); while(T--) { int n,m; scanf("%d%d",&n,&m); int sum1=0,sum2=0; for(int i=1;i<=n;i++) { int x; scanf("%d",&x); sum1+=x; } for(int i=1;i<=m;i++) { int x; scanf("%d",&x); sum2+=x; } if(sum1==sum2) printf("Draw\n"); else if(sum1>sum2) printf("Calem\n"); else if(sum2>sum1) printf("Serena\n"); } return 0;}
View Code

C - Talented Chef

As we all know, Coach Gao is a talented chef, because he is able to cook M dishes in the same time. Tonight he is going to have a hearty dinner with his girlfriend at his home. Of course, Coach Gao is going to cook all dishes himself, in order to show off his genius cooking skill to his girlfriend.

To make full use of his genius in cooking, Coach Gao decides to prepare N dishes for the dinner. The i-th dish contains Ai steps. The steps of a dish should be finished sequentially. In each minute of the cooking, Coach Gao can choose at most Mdifferent dishes and finish one step for each dish chosen.

Coach Gao wants to know the least time he needs to prepare the dinner.

Input

There are multiple test cases. The first line of input contains an integer Tindicating the number of test cases. For each test case:

The first line contains two integers N and M (1 <= NM <= 40000). The second line contains N integers Ai (1 <= Ai <= 40000).

<h4< dd="">Output

For each test case, output the least time (in minute) to finish all dishes.

<h4< dd="">Sample Input

23 22 2 210 61 2 3 4 5 6 7 8 9 10

<h4< dd="">Sample Output

310

 

代码:

#include 
#define ll long longusing namespace std;int main(){ int T; scanf("%d",&T); while(T--) { int n,m; scanf("%d%d",&n,&m); int maxx=0; ll sum=0; for(int i=1;i<=n;i++) { int x; scanf("%d",&x); maxx=max(maxx,x); sum+=x; } ll ans=sum/m; if(sum%m) ans++; ans=max(ans,1LL*maxx); cout<
<
View Code

G - Ternary Calculation

Complete the ternary calculation.

Input

There are multiple test cases. The first line of input contains an integer Tindicating the number of test cases. For each test case:

There is a string in the form of "number1 operatora number2 operatorb number3". Each operator will be one of {'+', '-' , '*', '/', '%'}, and each number will be an integer in [1, 1000].

<h4< dd="">Output

For each test case, output the answer.

<h4< dd="">Sample Input

51 + 2 * 31 - 8 / 31 + 2 - 37 * 8 / 55 - 8 % 3

<h4< dd="">Sample Output

7-10113

Note

The calculation "A % B" means taking the remainder of A divided by B, and "A / B" means taking the quotient.

 

代码:

#include 
using namespace std;int main(){ int T; scanf("%d",&T); while(T--) { char op1,op2; int a,b,c; int ans; cin>>a>>op1>>b>>op2>>c; if(op1=='+') { if(op2=='+') ans=a+b+c; if(op2=='-') ans=a+b-c; if(op2=='*') ans=a+b*c; if(op2=='/') ans=a+b/c; if(op2=='%') ans=a+b%c; } if(op1=='-') { if(op2=='+') ans=a-b+c; if(op2=='-') ans=a-b-c; if(op2=='*') ans=a-b*c; if(op2=='/') ans=a-b/c; if(op2=='%') ans=a-b%c; } if(op1=='*') { if(op2=='+') ans=a*b+c; if(op2=='-') ans=a*b-c; if(op2=='*') ans=a*b*c; if(op2=='/') ans=a*b/c; if(op2=='%') ans=a*b%c; } if(op1=='/') { if(op2=='+') ans=a/b+c; if(op2=='-') ans=a/b-c; if(op2=='*') ans=a/b*c; if(op2=='/') ans=a/b/c; if(op2=='%') ans=a/b%c; } if(op1=='%') { if(op2=='+') ans=a%b+c; if(op2=='-') ans=a%b-c; if(op2=='*') ans=a%b*c; if(op2=='/') ans=a%b/c; if(op2=='%') ans=a%b%c; } cout<
<
View Code

J - What day is that day?

It's Saturday today, what day is it after 11 + 22 + 33 + ... + NN days?

Input

There are multiple test cases. The first line of input contains an integer Tindicating the number of test cases. For each test case:

There is only one line containing one integer N (1 <= N <= 1000000000).

<h4< dd="">Output

For each test case, output one string indicating the day of week.

<h4< dd="">Sample Input

212

<h4< dd="">Sample Output

SundayThursday

<h4< dd="">Hint

A week consists of Sunday, Monday, Tuesday, Wednesday, Thursday, Friday and Saturday.

 

代码:

#include
using namespace std;int p[22][22][2];char t[8][22]={
"Sunday" , "Monday", "Tuesday", "Wednesday", "Thursday", "Friday", "Saturday"};int cal(int n){ int ans=0; for(int i=1;i<=6;i++) { if(i>n) break; int N=(n-i)/7; int a1=p[i][i][0],q=p[i][7][0],qn=p[q][(N+1)%6][0]; int tmp; if(q==1) tmp=N*a1+a1; else tmp=a1*(qn-1)*p[q-1][5][0]%7; ans+=tmp+7; ans%=7; } return ans;}int main(){ for(int i=0;i<10;i++) { p[i][0][0]=p[i][0][1]=1; for(int j=1;j<10;j++) { p[i][j][0]=p[i][j-1][0]*i%7; p[i][j][1]=p[i][j-1][1]*i%5; } } //cout<
<
View Code

 

 

#include 
using namespace std;int T;char Day[10][10]={
"Saturday","Sunday","Monday", "Tuesday", "Wednesday", "Thursday", "Friday"};int all[550];long long Pow(int a, int b) { long long ans = 1; while(b) { if(b % 2) { ans = (ans % 7) * (a % 7); b --; } else { a = (a % 7) * (a % 7); b /= 2; } } return ans % 7;}int main() { all[0] = 0; for(int i = 1; i <= 294; i ++) all[i] = (all[i - 1] + Pow(i, i)) % 7; scanf("%d", &T); while(T --) { long long N; scanf("%lld", &N); N %= 294; printf("%s\n", Day[all[N]]); } return 0;}
找规律的 code

 

这个训练的时候想着打表但是没打完 快速幂的时候忘记取模了 一会重写一个贴一下 打表找规律

1 4 6 4 3 1 0 1 1 4 2 1 6 0 1 2 5 1 5 1 0 1 4 1 4 4 6 0 1 1 3 2 6 1 0 1 2 2 1 2 6 0 ($N^N$ % 7 的规律)

L - Access System

For security issues, Marjar University has an access control system for each dormitory building.The system requires the students to use their personal identification cards to open the gate if they want to enter the building.

The gate will then remain unlocked for L seconds. For example L = 15, if a student came to the dormitory at 17:00:00 (in the format of HH:MM:SS) and used his card to open the gate. Any other students who come to the dormitory between [17:00:00, 17:00:15) can enter the building without authentication. If there is another student comes to the dorm at 17:00:15 or later, he must take out his card to unlock the gate again.

There are N students need to enter the dormitory. You are given the time they come to the gate. These lazy students will not use their cards unless necessary. Please find out the students who need to do so.

Input

There are multiple test cases. The first line of input contains an integer Tindicating the number of test cases. For each test case:

The first line contains two integers N (1 <= N <= 20000) and L (1 <= L <= 3600). The next N lines, each line is a unique time between [00:00:00, 24:00:00) on the same day.

<h4< dd="">Output

For each test case, output two lines. The first line is the number of students who need to use the card to open the gate. The second line the the index (1-based) of these students in ascending order, separated by a space.

<h4< dd="">Sample Input

32 112:30:0012:30:015 1517:00:0017:00:1517:00:0617:01:0017:00:143 512:00:0912:00:0512:00:00

<h4< dd="">Sample Output

21 231 2 422 3

代码:

#include 
using namespace std;const int maxn = 1e6 + 10;int T;struct Node{ int tim; int id;}node[maxn];bool cmp(const Node &a, const Node &b) { return a.tim < b.tim;}int main() { scanf("%d", &T); while(T --) { int N, L; scanf("%d%d", &N, &L); for(int i = 1; i <= N; i ++) { int h, m, s; scanf("%d:%d:%d", &h, &m, &s); int sum = h * 3600 + m * 60 + s; node[i].tim = sum; node[i].id = i; } sort(node + 1, node + 1 + N, cmp); vector
ans; int now = node[1].tim; ans.push_back(node[1].id); for(int i = 2; i <= N; i ++) { if(node[i].tim < now + L) continue; else { ans.push_back(node[i].id); now = node[i].tim; } } sort(ans.begin(), ans.end()); printf("%d\n", ans.size()); for(int i = 0; i < ans.size(); i ++) printf("%d%s", ans[i], i != ans.size() - 1 ? " " : "\n"); } return 0;}
View Code

EF 是搜索 但是没想好怎么写!我会记得清题的

转载于:https://www.cnblogs.com/zlrrrr/p/10692406.html

你可能感兴趣的文章
xss跨站攻击
查看>>
poj 1191 棋盘分割
查看>>
css的一些知识
查看>>
linux常用命令(二)
查看>>
h2database源码浅析:事务、两阶段提交
查看>>
【前端】CSS隐藏元素的方法和区别
查看>>
阿里巴巴分布式服务框架 Dubbo 团队成员梁飞专访
查看>>
python中两种方法实现二分法查找,细致分析二分法查找算法
查看>>
JavaScript的作用域链
查看>>
LeetCode--Array--Remove Duplicates from Sorted Array (Easy)
查看>>
java变量初始化
查看>>
IOS push消息的数字不减少的问题
查看>>
mysql报错Multi-statement transaction required more than 'max_binlog_cache_size' bytes of storage
查看>>
MySQL的并行复制多线程复制MTS(Multi-Threaded Slaves)
查看>>
Django中间件
查看>>
A.6-什么是“asp.net”?
查看>>
label自适应高度
查看>>
xml字符串,xml对象,数组之间的相互转化
查看>>
GitHub上的见闻
查看>>
cssText在 IE6/7/8和chrome/Firefox/IE9+的不同
查看>>