首页 > 其他 > 详细

AGC041C Domino Quality

时间:2020-02-09 22:31:50      阅读:91      评论:0      收藏:0      [点我收藏+]

Link
人类智慧发现\(1,2\)阶无解。
题目告诉了我们\(3\)阶的答案。
人类智慧手算\(4\sim 7\)阶,每行每列的牌数为\(3\)的答案。
可以发现把两个每行每列牌数为\(x\),阶数分别为\(n,m\)的棋盘按左上-右下接在一起可以得到一个\(n+m\)阶的每行每列牌数为\(x\)的棋盘。
\(k=n\bmod 4\),那么我们先在右下角搞一块\(k+4\)的棋盘,然后往左上一直接\(4\)的就行了。

#include<string>
#include<iostream>
int n,k;
std::string s[4][7]={{"aacd","bbcd","cdaa","cdbb"},{"aa.ab",".bbab","a.cca","a.a.a","bbabb"},{"aacd..","bbcd..","cd..aa","cd..bb","..aacd","..bbcd"},{"aacd...","bbcd...","cd.aa..","cd...bb","..a.baa","..a.b.b","..bbaab"}};
int main()
{
    std::cin>>n,k=n&3;
    if(n<3) std::cout<<"-1\n";
    else if(n==3) std::cout<<"aab\nb.b\nbaa\n";
    else for(int i=0;i<n;++i)
     {
         std::string t(n,'.');
         i<n-k-4? t.replace(i/4*4,4,s[0][i%4]):t.replace(n-k-4,k+4,s[k][i-n+k+4]);
         std::cout<<t<<'\n';
     }
}

AGC041C Domino Quality

原文:https://www.cnblogs.com/cjoierShiina-Mashiro/p/12289118.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!