2022牛客多校第六场

G Icon Design

思路

n为5的小模拟,我是按规律输出的。

代码

#include<bits/stdc++.h>
using namespace std;
int n;
int main(){
    scanf("%d",&n);
    for(int i=1;i<=13*n+19;i++) cout<<'*';
    cout<<endl;
    for(int i=1;i<=n;i++){
        cout<<'*';
        for(int j=1;j<=13*n+17;j++) cout<<'.';
        cout<<'*';
        cout<<endl;
    }
    
    for(int i=1;i<=2*n+3;i++){
        cout<<'*';
        for(int j=1;j<=n+1;j++) cout<<'.';
        cout<<'@';
        for(int j=2;j<=2*n+2;j++){
            if(j==i) cout<<'@';
            else cout<<'.';
        }
        cout<<'@';
        for(int j=1;j<=n+1;j++) cout<<'.';
        cout<<'@';
        for(int j=1;j<=2*n+2;j++){
            if(i==1||i==n+2) cout<<'@';
            else cout<<'.';
        }
        for(int j=1;j<=n+1;j++) cout<<'.';
        cout<<'@';
        for(int j=1;j<=2*n+2;j++){
            if(i==2*n+3) cout<<'@';
            else cout<<'.';
        }
        for(int j=1;j<=n+1;j++) cout<<'.';
        if(i<=n+2||i==2*n+3) cout<<'@';
        else cout<<'.';
        
        for(int j=1;j<=2*n+1;j++){
            if(i==1||i==n+2||i==2*n+3) cout<<'@';
            else cout<<'.';
        }
        if(i==1||i>=n+2) cout<<'@';
        else cout<<'.';
        for(int j=1;j<=n+1;j++) cout<<'.';
        cout<<'*';
        cout<<endl;
    }
    
    for(int i=1;i<=n;i++){
        cout<<'*';
        for(int j=1;j<=13*n+17;j++) cout<<'.';
        cout<<'*';
        cout<<endl;
    }
    for(int i=1;i<=13*n+19;i++) cout<<'*';
    
}

J Number Game

题意

给出初始数a,b,c,可通过不限次数的操作,判断c能否变成给出的数x。

1、b=a-b

2、c=b-c,

思路: 两次相同操作是抵消的作用,所以可以将两种操作看作对c或b-c进行任意次数的加减a2ba-2b

注意对负数取模时要加一个模数。

代码

#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
ll t,a,b,c,x;
int main(){
    scanf("%lld",&t);
    while(t--){
    scanf("%lld%lld%lld%lld",&a,&b,&c,&x);
        if(a-2*b==0) {
            if(c==x||b-c==x) cout<<"Yes"<<endl;
            else cout<<"No"<<endl;
        }
        else {
        ll d=(x%abs(a-2*b)+abs(a-2*b))%abs(a-2*b);
       c=(c%abs(a-2*b)+abs(a-2*b))%abs(a-2*b);
        ll y=((b-c)%abs(a-2*b)+abs(a-2*b))%abs(a-2*b);
       
            if(c==d||y==d) cout<<"Yes"<<endl;
            else cout<<"No"<<endl;
        }
    }
}
全部评论

相关推荐

点赞 收藏 评论
分享
牛客网
牛客企业服务