zoukankan      html  css  js  c++  java
  • 10-24 补题

    ------------恢复内容开始------------

    小米入围赛J题

    https://ac.nowcoder.com/acm/contest/7501/J

    思路:二维差分

    #include <bits/stdc++.h>
    
    using namespace std;
    
    int a[1100][1100], b[1100][1100]; 
    
    int t, n, m, w, r;
    
    void insert(int x1, int y1, int x2, int y2, int c){
    	b[x1][y1] += c;
    	b[x1][y2+1] -= c;
    	b[x2+1][y1] -= c;
    	b[x2+1][y2+1] += c;
    }
    
    int main()
    {
    	cin >> t;
    	while(t--){    
    		memset(b, 0, sizeof(b));
    		cin >> n >> m >> w >> r;
    		
    		int sum = 0;
    		for(int i = 1;i <= n; ++ i){
    			for(int j = 1;j <= m; ++ j){
    				cin >> a[i][j];
    				insert(i, j, i, j, a[i][j]);
    			} 
    		}	
    		for(int i = 1;i <= n - w + 1;i ++){
    			for(int j = 1;j <= m - r + 1; j ++ ){
    				if(b[i][j] > 0)
    				insert(i, j, i + w - 1, j + r - 1, -b[i][j]);
    			}
    		}
    		int flag = 1;
    		for(int i = 1;i <= n; ++ i){
    			for(int j = 1;j <= m; ++ j){
    				if(b[i][j]) flag = 0;
    			}
    		}
    		if(flag) puts("^_^");
    		else puts("QAQ");
    	}
    }
    

      

    ------------恢复内容结束------------

  • 相关阅读:
    每日总结
    团队冲刺9
    团队冲刺8
    团队冲刺7
    团队冲刺6
    团队冲刺5
    团队冲刺4
    团对冲刺3
    团队冲刺2
    每日博客
  • 原文地址:https://www.cnblogs.com/DefineWaAc/p/13909345.html
Copyright © 2011-2022 走看看