• codeforces 758 C


    n m  教室大小  k  个问题  人在 x y

    一行的 询问顺序  从左到右

    一列的顺序

    1 2 .. n-1  n  n-1   ... 1 

    找出循环结  然后小部分模拟

    1 2 ...  n-1 n  n-1  .. 2 

    然后就和第一次一样了 

    然后特殊情况 我分开了  

    long long

    #include<stdio.h>
    #include<algorithm>
    #include<string.h>
    #include<math.h>
    #include<set>
    #include<string>
    
    using namespace std;
    typedef long long LL;
    
    #define inf  10000000000000
    #define MAXN 110
    
    LL cnt[MAXN][MAXN];
    
    int main()
    {
        int n,m,x,y;
        LL k;
    
        while(scanf("%d%d%lld%d%d",&n,&m,&k,&x,&y)!=EOF)
        {
            memset(cnt,0,sizeof(cnt));
    
            if(n==1)
            {
                for(int i=1;i<=m;i++)
                    cnt[1][i]=k/m;
                int en=k%m;
                for(int i=1;i<=en;i++)
                    cnt[1][i]+=1;
            }
            else
            {
                int mod=n*m+(n-2)*m;
                LL num=k/mod;
    
                for(int i=1;i<=n;i++)
                {
                    for(int j=1;j<=m;j++)
                    {
                        if(i==1||i==n)
                            cnt[i][j]=num;
                        else
                            cnt[i][j]=2*num;
                    }
                }
                int en=k%mod;
                for(int i=1;i<=n;i++)
                {
                    for(int j=1;j<=m&&en>0;j++,en--)
                        cnt[i][j]++;
                }
                if(en>0)
                {
                    for(int i=n-1;i>=2;i--)
                    {
                        for(int j=1;j<=m&&en>0;j++,en--)
                            cnt[i][j]++;
                    }
                }
    
            }
            LL mx,mi,ans;
            mx=0;
            mi=k;
            for(int i=1;i<=n;i++)
            {
                for(int j=1;j<=m;j++)
                {
                    mx=max(mx,cnt[i][j]);
                    mi=min(mi,cnt[i][j]);
                }
            }
            printf("%lld %lld %lld
    ",mx,mi,cnt[x][y]);
        }
        return 0;
    }
  • 相关阅读:
    tomcat中配置jmx监控
    常用sql
    String、StringBuffer、StringBuilder的不同使用场景
    求交集的几种方法
    使用liunx部署的心得
    几种有助于开发的注释方式。
    SpringDataJPA的几个使用记录
    今年要完成的几件事
    研究kisso跨域登录的心得
    SpringBoot使用的心得记录
  • 原文地址:https://www.cnblogs.com/cherryMJY/p/6428643.html
Copyright © 2020-2023  润新知