Codeforces Round #566 (Div. 2)

时间:2019-07-11
本文章向大家介绍Codeforces Round #566 (Div. 2),主要包括Codeforces Round #566 (Div. 2)使用实例、应用技巧、基本知识点总结和需要注意事项,具有一定的参考价值,需要的朋友可以参考一下。

A. Filling Shapes

题意:给你三角形,填充3*n的图;

n为奇数肯定不行,n每增加一个,填充的办法就为上次的两倍;

#include <bits/stdc++.h>
using namespace std;
const int maxn=1e5+10;
int main()
{
    int n;
    cin>>n;
    if(n%2)
    {
        cout<<0<<endl;
    } 
    else 
    {
        int ans=1;
        for(int i=1;i<=n/2;i++)
        {
            ans*=2;
        }
        cout<<ans<<endl;
    }
    
    return 0;
}
View Code

B - Plus from Picture

题意:给你一个图,让你找是不是只有一个‘+’号;

思路:记录所有*号,总的为cnt,然后找到符合加号的位置,遍历上下左右四个方向走,是*号就cnt--;遍历完判断一下就行了(当时打的时候沙雕了,wa了9发,日!)

#include <bits/stdc++.h>
using namespace std;
const int maxn=510;
int main()
{
    int n,m;
    cin>>n>>m;
    char a[maxn][maxn];
    int cnt=0;
    for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++){
            cin>>a[i][j];
            if(a[i][j]=='*')
            cnt++;
        }
 
    }
    int flagx=0,flagy=0,flag=0;
    for(int i=1;i<=n;i++){
        for(int j=1;j<=m;j++){
            if(a[i][j]=='*'&&a[i+1][j]=='*'&&a[i-1][j]=='*'&&a[i][j+1]=='*'&&a[i][j-1]=='*'){
                flagx=i;
                flagy=j;
                flag=1;
                break;
            }
        }
        if(flag==1)break;
    }
    //cout<<"flag="<<flag<<"flagx="<<flagx<<"flagy="<<flagy<<endl;
    //cout<<"cnt="<<cnt<<endl;
    if(flag==0){
        cout<<"NO"<<endl;
        return 0;
    }
    else{
                for(int i=flagx-1;i>=1;i--){
                        if(a[i][flagy]=='.')break;
            if(a[i][flagy]=='*')
            cnt--;
        }
        for(int i=flagx+1;i<=n;i++){
                if(a[i][flagy]=='.')break;
            if(a[i][flagy]=='*')
            cnt--;
        }
        for(int i=flagy-1;i>=1;i--){
                if(a[flagx][i]=='.')break;
            if(a[flagx][i]=='*')
            cnt--;
        }
        for(int i=flagy+1;i<=m;i++){
                if(a[flagx][i]=='.')break;
            if(a[flagx][i]=='*'){
                cnt--;
            }
        }
        if(cnt==1)
        cout<<"YES"<<endl;
        else cout<<"NO"<<endl;
    }
 
 
 
    return 0;
}
View Code

C.Beautiful Lyrics

模拟题.....

原文地址:https://www.cnblogs.com/lin1874/p/11173326.html