• hdu 4925 贪心 自己从小到大做数据找方法规律


    http://acm.hdu.edu.cn/showproblem.php?pid=4925

    自己逐个做数据找规律。提供下我的找的:
    1 2

    1 3

    2 2

    2 3

    3 3

    然后发现这种矩阵是最优的:


    然后初始化的时候搞一个100*100的矩阵。然后每次对这个矩阵统计下2^1 2^2 2^3 2^4各有几个就可以

    WA了一次。由于我的统计方法里,n==1 m==1这样的会出现错误

    #include <cstdio>
    #include <cstring>
    #include <algorithm>
    #include <string>
    #include <iostream>
    #include <iomanip>
    #include <cmath>
    #include <map>
    #include <set>
    #include <queue>
    using namespace std;
    
    #define ls(rt) rt*2
    #define rs(rt) rt*2+1
    #define ll long long
    #define ull unsigned long long
    #define rep(i,s,e) for(int i=s;i<e;i++)
    #define repe(i,s,e) for(int i=s;i<=e;i++)
    #define CL(a,b) memset(a,b,sizeof(a))
    #define IN(s) freopen(s,"r",stdin)
    #define OUT(s) freopen(s,"w",stdout)
    const ll ll_INF = ((ull)(-1))>>1;
    const double EPS = 1e-8;
    const int INF = 100000000;
    ll n,m;
    const int MAXN = 110;
    bool mat[MAXN][MAXN];
    
    ll p[5]={1,2,4,8,16};
    ll cnt[5];
    
    void init()
    {
        for(int i=1;i<=100;i++)
            for(int j=1;j<=100;j++)
            {
                if(i%2)mat[i][j]=j%2;
                else mat[i][j]=!(j%2);
            }
    }
    
    ll solve()
    {
        CL(cnt,0);
        //ll a1=0,a2,a3,a4=0;
        for(int i=1;i<=n;i++)
            for(int j=1;j<=m;j++)
            {
                if(mat[i][j])
                {
                    ll ret=0;
                    if(i-1>=1)ret++;
                    if(i+1<=n)ret++;
                    if(j-1>=1)ret++;
                    if(j+1<=m)ret++;
                    cnt[ret]++;
                }
    
            }
        return p[1]*cnt[1]+p[2]*cnt[2]+p[3]*cnt[3]+p[4]*cnt[4];
    }
    
    int main()
    {
        //IN("hdu4925.txt");
        int ncase;
        init();
        scanf("%d",&ncase);
        while(ncase--)
        {
            scanf("%I64d%I64d",&n,&m);
            if(n==1 && m==1)printf("1
    ");
            else printf("%I64d
    ",solve());
        }
        return 0;
    }
    


  • 相关阅读:
    iOS必备知识点
    stringByReplacingOccurrencesOfString
    iPhone X 设计适配指南 & iOS 11 新特性
    block与property
    swift开发笔记04
    category重写系统方法的调用顺序是怎么样的?
    Error: Chunk.entry was removed. Use hasRuntime()错误解决
    李阳音标速成MP3文本
    JavaScript权威指南(第6版)(中文版)笔记
    Idea检入boss项目
  • 原文地址:https://www.cnblogs.com/mfrbuaa/p/5085350.html
Copyright © 2020-2023  润新知