zoukankan      html  css  js  c++  java
  • UVA11737_Extreme Primitive Society

    这是隐藏的最深的一个水题。其隐藏性能如此之好,是因为题目的描述十分蛋疼,写了好多好多的废话。

    让我们这种过不了六级的孩子情何以堪啊。

    是这样的,给你若干个矩形,每次在所有的矩形中两两组合形成许多许多新的矩形,同时宽和高也是任意组合的。(但是组合永远只是一个宽和一个高相组合)

    对于每做一次操作,你还可以改变操作后矩形的宽和高一个单位(变小或者变大)

    问你变出一个正方形的最小步数是多少?

    其实很简单,直接判断初始状态是否为正方形以及第一步可不可以变出正方形。

    剩下的情况直接返回(sum+1)/2。

    自己理解一下就可以了,太简单,我就不说了。

    #include <iostream>
    #include <cstdio>
    #include <cstring>
    #define maxn 510
    using namespace std;
    
    int w[maxn],h[maxn];
    int ans,n;
    
    int Abs(int x)
    {
        return x>=0?x:-x;
    }
    
    int count()
    {
        int tot=~0u>>1;
        for (int i=1; i<=n; i++) if (w[i]==h[i]) return 0;
        for (int i=1; i<=n; i++)
            for (int j=1; j<=n; j++)
            {
                tot=min(tot,Abs(w[i]-h[j]));
            }
        if (tot<3) return 1;
        return (tot+1)/2;
    }
    
    int main()
    {
        int cas=0;
        while (scanf("%d",&n)!=EOF)
        {
            for (int i=1; i<=n; i++) scanf("%d%d",&w[i],&h[i]);
            ans=count();
            printf("Case %d : %d
    ",++cas,ans);
        }
        return 0;
    }
    如有转载,请注明出处(http://www.cnblogs.com/lochan)
  • 相关阅读:
    NVCC编译器
    BMP文件格式及读写
    Vim 命令 【转】
    NFS文件系统配置 和 GLIBC更新
    cuda vector addition
    hdu4758 Walk Through Squares 自动机+DP
    hdu4722 Good Numbers
    hdu4725 The Shortest Path in Nya Graph
    Anaconda-科学计算的 Python 发行版
    OUC_NewACMer_Personal_#1 题解
  • 原文地址:https://www.cnblogs.com/lochan/p/3422449.html
Copyright © 2011-2022 走看看