zoukankan      html  css  js  c++  java
  • Codeforces 1004D

    题意略。

    思路:

    有两个点要注意一下:

    1.这个菱形矩阵是8对称的,也即可以是沿45°对角线对称。

    2.菱形矩阵上的数字表明了这个点到中心0点的距离,这对于确定位置有帮助。

    这个题目简直刷新人生观,这么暴力的做法也能过。。。。

    #include<bits/stdc++.h>
    using namespace std;
    const int maxn = 1000005;
    
    int cnt[maxn],t;
    int temp[maxn];
    
    int main(){
        int x,maxx = 0;
        scanf("%d",&t);
        for(int i = 0;i < t;++i){
            scanf("%d",&x);
            ++cnt[x];
            maxx = max(x,maxx);
        }
        if(cnt[0] > 1){
            printf("-1
    ");
            return 0;
        }
        for(x = 1;x <= maxx;++x){
            if(cnt[x] / x != 4) break;
        }
        int y;
        int n,m;
        bool jud = false;
        for(n = 1;n <= t;++n){
            if(t % n) continue;
            m = t / n;
            if(n + m - x - maxx >= 1){
                y = n + m - x - maxx;
                jud = true;
                memset(temp,0,sizeof(temp));
                for(int i = 1;i <= n;++i){
                    for(int j = 1;j <= m;++j){
                        int cur = abs(i - x) + abs(j - y);
                        ++temp[cur];
                    }
                }
                for(int i = 1;i <= maxx;++i){
                    if(cnt[i] != temp[i]){
                        jud = false;
                        break;
                    }
                }
                if(jud) break;
            }
        }
        if(jud){
            printf("%d %d
    %d %d
    ",n,m,x,y);
        }
        else printf("-1
    ");
        return 0;
    } 
  • 相关阅读:
    linux-vi/vim
    Linux性能监控-ss
    Linux性能监控-netstat
    Linux性能监控-sar
    Linux性能监控-htop
    Linux性能监控-pstree
    Linux性能监控-ps
    查看linux占用内存/CPU最多的进程
    Linux性能监控-top
    Linux-cpu-socket/core/processor
  • 原文地址:https://www.cnblogs.com/tiberius/p/9287767.html
Copyright © 2011-2022 走看看