zoukankan      html  css  js  c++  java
  • AtCoder Grand Contest 016 C

    题目传送门:https://agc016.contest.atcoder.jp/tasks/agc016_c

    题目大意:

    给定整数(H,W,h,w),你需要判断是否存在满足如下条件的矩阵,如果存在,则输出任意一种可能的方案

    • 矩阵是(H)(W)
    • 矩阵的每个元素的权值在([-10^9,10^9])之间
    • 矩阵的所有元素权值和为正
    • 任意大小为(h×w)的子矩阵的元素权值和为负

    构造题一般都是智商题……首先(\%\%\%wzy)

    既然子矩阵的值是负数,那么我们就尽可能让它负的少一点,比如-1;构造的时候,我们应该让负权值元素尽量少……于是我们在所有((k_1×h,k_2×w))的地方放上负权值……

    最后判断是否可行即可

    /*program from Wolfycz*/
    #include<cmath>
    #include<cstdio>
    #include<cstring>
    #include<iostream>
    #include<algorithm>
    using namespace std;
    typedef long long ll;
    typedef unsigned int ui;
    typedef unsigned long long ull;
    inline char gc(){
    	static char buf[1000000],*p1=buf,*p2=buf;
    	return p1==p2&&(p2=(p1=buf)+fread(buf,1,1000000,stdin),p1==p2)?EOF:*p1++;
    }
    inline int frd(){
    	int x=0,f=1; char ch=gc();
    	for (;ch<'0'||ch>'9';ch=gc())	if (ch=='-')	f=-1;
    	for (;ch>='0'&&ch<='9';ch=gc())	x=(x<<3)+(x<<1)+ch-'0';
    	return x*f;
    }
    inline int read(){
    	int x=0,f=1; char ch=getchar();
    	for (;ch<'0'||ch>'9';ch=getchar())	if (ch=='-')	f=-1;
    	for (;ch>='0'&&ch<='9';ch=getchar())	x=(x<<3)+(x<<1)+ch-'0';
    	return x*f;
    }
    inline void print(int x){
    	if (x<0)	putchar('-'),x=-x;
    	if (x>9)	print(x/10);
    	putchar(x%10+'0');
    }
    const int N=5e2,inf=1e9;
    int V[N+10][N+10];
    int main(){
    	int n=read(),m=read(),h=read(),w=read();
    	int v=3999,mv=-(h*w-1)*v-1,sum=0;
    	for (int i=1;i<=n;i++)
    		for (int j=1;j<=m;j++)
    			sum+=V[i][j]=(i%h==0&&j%w==0)?mv:v;
    	if (sum<=0)	printf("No
    ");
    	else{
    		printf("Yes
    ");
    		for (int i=1;i<=n;i++){
    			for (int j=1;j<=m;j++)	printf("%d ",V[i][j]);
    			putchar('
    ');
    		}
    	}
    	return 0;
    }
    
  • 相关阅读:
    D. Constructing the Array
    B. Navigation System
    B. Dreamoon Likes Sequences
    A. Linova and Kingdom
    G. Special Permutation
    B. Xenia and Colorful Gems
    Firetrucks Are Red
    java getInstance()的使用
    java 静态代理和动态代理
    java 类加载机制和反射机制
  • 原文地址:https://www.cnblogs.com/Wolfycz/p/10165774.html
Copyright © 2011-2022 走看看