来一篇错题集(虽然简单吧)

一.Assembly via Remainders

 

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
int a[2000];
int b[2000];
int main(){
    int t;
    cin>>t;
    while(t--){
        int n;
        cin>>n;
        for(int i=1;i<=n-1;i++){
            cin>>b[i];
        }
        int x=1000000000;//使用1000000000这样在数据范围内绝对不会出现其他情况,一定是取余的数
        for(int i=n;i>=1;i--){
            a[i]=x;
            x-=b[i-1];
        }
        for(int i=1;i<=n;i++){
            cout<<a[i]<<" ";
        }
        cout<<endl;
    }
    system("pause");
    return 0;
}

二.Permutation Game

 

 

 输入样例:

10
4 2 3 2
4 1 2 3
7 2 5 6
10 8 2 10
3 1 4 5 2 7 8 10 6 9
5 10 5 1 3 7 10 15 4 3
2 1000000000 1 2
1 2
4 4
8 10 4 1
5 1 4 3 2 8 6 7
1 1 2 1 2 100 101 102
5 1 2 5
1 2 4 5 3
4 6 9 4 2
4 2 3 1
4 1 3 2
6 8 5 3
6 9 5 4
6 1 3 5 2 4
6 9 8 9 5 10
4 8 4 2
2 3 4 1
5 2 8 7
4 2 3 1
4 1 3 2
6 8 5 3
2 1000000000 1 2
1 2
1000000000 2

输出样例: 

Bodya
Sasha
Draw
Draw
Bodya
Sasha
Sasha
Sasha
Sasha
Bodya

 

 

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;//注意这道题一定要记得开long long
ll a[200010];
ll p[200030];
int main(){
    ll t;
    cin>>t;
    while(t--){
        ll n,k,x,y;
        cin>>n>>k>>x>>y;
        for(int i=1;i<=n;i++){
            cin>>p[i];
        }
        for(int i=1;i<=n;i++){
            cin>>a[i];
        }
        ll X=0;
        ll Y=0;
        ll sx=0;
        ll sy=0;
        for(int i=0;i<min(n+1,k);i++){
            X=max(X,sx+(k-i)*a[x]);//相当于把每次的都记录上去所以可以放心更新
            sx+=a[x];
            x=p[x];
            Y=max(Y,sy+(k-i)*a[y]);
            sy+=a[y];
            y=p[y];
        }
        if(X>Y){
            cout<<"Bodya"<<endl;
        }else if(X<Y){
            cout<<"Sasha"<<endl;
        }else{
            cout<<"Draw"<<endl;
        }
    }
    system("pause");
    return 0;
}

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值