zoukankan      html  css  js  c++  java
  • 2020牛客多校第六场 G.Grid Coloring 构造

    https://ac.nowcoder.com/acm/contest/5671/G

    题意:

    一个n*n的网格,k种颜色,给网格的边缘染色;

    条件:

    1.所有颜色出现相同的次数;

    2.不存在单色环;

    3.每条水平线或垂直线都应该至少包含两种颜色。

     输出每条水平线的颜色和垂直线的颜色;

    没有答案输出-1。

    解法:

    n=1,或者k=1,或者 2*(n+1)*n%k != 0,都不能满足题意,输出-1;

    否则如下图构造:

    (原理我也不懂,问就是猜猜猜猜,,,赛中没看懂题意,题中的图没有显示,可能得换电脑了(误,赛后瞎jb猜了下,感觉第一排比第二排多一个会错开,应该可以,就试了一下,然后就过了,惊了!!!!!!!太tm亏了,比赛没做这题)

    #include <bits/stdc++.h>
    using namespace std;
    const long long mod =1e9+7;
    typedef long long ll;
    const int inf =0x3f3f3f3f;
    const long long INF =0x3f3f3f3f3f3f3f3f;
    const int MAXN =5e2+5;
    int a[MAXN][MAXN],b[MAXN][MAXN];
    int main()
    {
    
        int t;
        scanf("%d",&t);
        while(t--)
        {
            int n,k;
            scanf("%d%d",&n,&k);
            if(2*(n+1)*n%k!=0||k<=1||n==1)
            {
                printf("-1
    ");
                continue;
            }
            int cnt=0;
            for(int i=1;i<=n+1;i++)
            {
                for(int j=1;j<=n;j++)
                {
                    a[i][j]=++cnt;
                    if(cnt==k)cnt=0;
                }
                if(i!=n+1)
                {
                    for(int j=n+1;j>=1;j--)
                    {
                        b[i][j]=++cnt;
                        if(cnt==k)cnt=0;
                    }
                }
            }
    
            for(int i=1;i<=n+1;i++)
            {
                for(int j=1;j<=n;j++)
                {
                    printf("%d%c",a[i][j],j==n?'
    ':' ');
                }
            }
            for(int i=1;i<=n+1;i++)
            {
                for(int j=1;j<=n;j++)
                {
                    printf("%d%c",b[j][i],j==n?'
    ':' ');
                }
            }
        }
    
        return 0;
    }
    View Code
  • 相关阅读:
    Ios开发中UILocalNotification实现本地通知实现提醒功能
    Oracle 客户端连接时报ORA-01019错误总结
    linux中合并多个文件内容到一个文件的例子
    java截取字符串函数
    springcloud 笔记
    Aop笔记
    SpringMvc返回Json调试
    jackjson-databind-2.9.3 笔记
    MyBatis 笔记
    Jvm 10 升级笔记
  • 原文地址:https://www.cnblogs.com/MZRONG/p/13394266.html
Copyright © 2011-2022 走看看