C. Grid game 思维+问题转化

C. Grid game 思维+问题转化

题意

每当有一行或者一列方格的时候,都可以消气这一行或者这一列,一共有两种形状的方块,一种是横的两个,一种是竖着的两个,按时间顺序放在4*4的格子里面,问怎么放才不会GG

思路

仔细想一想其实只要把竖的放一起,横的放一起即可,这样就不会产生多余的快影响后续进程,不要被样例干扰

#include<bits/stdc++.h>
#define FOR(i,f_start,f_end) for(int i=f_start;i<=f_end;i++)
#define MS(arr,arr_value) memset(arr,arr_value,sizeof(arr)) 
#define F first 
#define S second
#define pii pair<int ,int >
#define mkp make_pair
#define pb push_back
using namespace std;
typedef long long ll;
const int maxn = 3e5+4;
char s[maxn];
map<char,int>mp;
int main(){
    int ans=0;
    cin>>s+1;
    int len=strlen(s+1);
    int p1=1,p2=1;
    for(int i=1;i<=len;i++){
        mp[s[i]]++;
        if(s[i]=='1'){
            cout<<p1<<" "<<1<<endl;
            p1++;
            if(p1==5){
                mp[s[i]]=0;
                p1=1;
            }
        }
        if(s[i]=='0'){
            cout<<p2<<" "<<4<<endl;
            p2+=2;
            if(p2==5){
                mp[s[i]]=0;
                p2=1;
            }
        }
    }
    return 0;
}
全部评论

相关推荐

牛客5655:其他公司的面试(事)吗
点赞 评论 收藏
分享
10-06 12:46
门头沟学院 Java
跨考小白:定时任务启动
点赞 评论 收藏
分享
评论
点赞
收藏
分享
牛客网
牛客企业服务