bzoj3503: [Cqoi2014]和諧矩陣

高斯消元解異或方程組。學了bitset。對比如下

#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
using namespace std;
#define REP(i,s,t) for(int i=s;i<=t;i++)
#define dwn(i,s,t) for(int i=s;i>=t;i--)
#define clr(x,c) memset(x,c,sizeof(x))
int read(){int x=0;char c=getchar();while(!isdigit(c)) c=getchar();while(isdigit(c)) x=x*10+c-'0',c=getchar();return x;
}
const int nmax=50;
const int inf=0x7f7f7f7f;
int xx[5]={0,0,0,1,-1};
int yy[5]={0,1,-1,0,0};
int a[nmax*nmax][nmax*nmax],ans[nmax*nmax],n,m;
int id(int x,int y){return (x-1)*m+y;
}
void Gauss(int N,int M){REP(i,1,N){int j;for(j=i;j<=N&&!a[j][i];j++)if(j>N) continue;if(j!=i) REP(k,i,M) swap(a[i][k],a[j][k]);REP(j,i+1,N) if(a[j][i]) REP(k,i,M) a[j][k]^=a[i][k];}dwn(i,N,1){if(!a[i][i]) ans[i]=1;else{REP(j,i+1,N) a[i][M]^=(ans[j]*a[i][j]);ans[i]=a[i][M];}}
}
int main(){n=read(),m=read();REP(i,1,n) REP(j,1,m) REP(k,0,4) {int tx=i+xx[k],ty=j+yy[k];if(tx&&ty&&tx<=n&&ty<=m) a[id(i,j)][id(tx,ty)]=1;}Gauss(n*m,n*m+1);REP(i,1,n) {REP(j,1,m) printf("%d ",ans[id(i,j)]);printf("\n");}return 0;
}
#include<cstdio>
#include<cstring>
#include<iostream>
#include<algorithm>
#include<bitset>
using namespace std;
#define REP(i,s,t) for(int i=s;i<=t;i++)
#define dwn(i,s,t) for(int i=s;i>=t;i--)
#define clr(x,c) memset(x,c,sizeof(x))
int read(){int x=0;char c=getchar();while(!isdigit(c)) c=getchar();while(isdigit(c)) x=x*10+c-'0',c=getchar();return x;
}
const int nmax=2505;;
const int inf=0x7f7f7f7f;
int xx[5]={0,0,0,1,-1};
int yy[5]={0,1,-1,0,0};
int ans[nmax],n,m;
bitset<nmax>a[nmax];
int id(int x,int y){return (x-1)*m+y;
}
void Gauss(int N,int M){REP(i,1,N){int j;for(j=i;j<=N&&!a[j][i];j++)if(j>N) continue;if(j!=i) swap(a[j],a[i]);REP(j,i+1,N) if(a[j][i]) a[j]^=a[i];}dwn(i,N,1){if(!a[i][i]) ans[i]=1;else{REP(j,i+1,N) if(a[i][j]) ans[i]^=ans[j];//a[i][M]^=ans[j];//a[i][M]^=(ans[j]*a[i][j]);}}
}
int main(){n=read(),m=read();REP(i,1,n*m) a[i].reset();REP(i,1,n) REP(j,1,m) REP(k,0,4) {int tx=i+xx[k],ty=j+yy[k];if(tx&&ty&&tx<=n&&ty<=m) a[id(i,j)][id(tx,ty)]=1;}Gauss(n*m,n*m+1);REP(i,1,n) {REP(j,1,m) printf("%d ",ans[id(i,j)]);printf("\n");}return 0;
}

  

3503: [Cqoi2014]和諧矩陣

Time Limit:?10 Sec??Memory Limit:?128 MBSec??Special Judge
Submit:?877??Solved:?397
[Submit][Status][Discuss]

Description

我們稱一個由0和1組成的矩陣是和諧的,當且僅當每個元素都有偶數個相鄰的1。一個元素相鄰的元素包括它本
身,及他上下左右的4個元素(如果存在)。
給定矩陣的行數和列數,請計算并輸出一個和諧的矩陣。注意:所有元素為0的矩陣是不允許的。

Input

輸入一行,包含兩個空格分隔的整數m和n,分別表示矩陣的行數和列數。

Output


輸出包含m行,每行n個空格分隔整數(0或1),為所求矩陣。測試數據保證有解。

Sample Input

4 4

Sample Output

0 1 0 0
1 1 1 0
0 0 0 1
1 1 0 1

數據范圍
1 <=m, n <=40

HINT

Source

鳴謝Ljcc提供Spj

[Submit][Status][Discuss]

轉載于:https://www.cnblogs.com/fighting-to-the-end/p/5697878.html

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/395540.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/395540.shtml
英文地址,請注明出處:http://en.pswp.cn/news/395540.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

她偏愛雛菊一樣的淡黃色_為什么開源項目(非常)偏愛新用戶,以及您可以采取什么措施...

她偏愛雛菊一樣的淡黃色by Filip Hracek由Filip Hracek 為什么開源項目(非常)偏愛新用戶&#xff0c;以及您可以采取什么措施 (Why open source projects (sadly) favor new users, and what you can do about it) Every now and then, all developer products (SDKs, framewo…

linux 腳本 expected,Linux | shell與expect結合使用

在linux操作系統下&#xff0c;使用腳本自動化&#xff0c;一般由兩種方案。方案一&#xff1a;telnetftp方案二&#xff1a;sshscpexpect。以下主要使用sshscpexpect為例進行說明使用方式。第一步&#xff1a;安裝expect&#xff1a;yum -y install expect第二步&#xff1a;驗…

[Swift]LeetCode246.對稱數 $ Strobogrammatic Number

★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★★?微信公眾號&#xff1a;山青詠芝&#xff08;shanqingyongzhi&#xff09;?博客園地址&#xff1a;山青詠芝&#xff08;https://www.cnblogs.com/strengthen/&#xff09;?GitHub地址&a…

C++中父類的虛函數必需要實現嗎?

一、情景 C中父類的虛函數必需要實現嗎&#xff1f; class Vir{ public:virtual void tryVirtual(); };class CVir:public Vir{ public:void tryVirtual(){std::cout<<"CVir"<<std::endl;} };二、說明 &#xff08;1&#xff09;在main函數中&#xff0c…

解決新浪微博API調用限制 突破rate_limit_status瓶頸

新浪微博開放平臺API的調用和TWITTER接口一樣&#xff0c;都是受限的&#xff0c;以小時為單位進行限定。 他有兩個限制原則 1.用戶不登錄基于IP的限制&#xff0c;每小時1000次 2.用戶登錄了基于用戶的限制&#xff0c;每小時1000次 如果應用是用戶不登錄的那么就是對IP進行限…

chrome前端開發工具_精通Chrome開發人員工具:更高級別的前端開發技術

chrome前端開發工具by Ben Edelstein通過本愛德斯坦 You may already be familiar with the basic features of the Chrome Developer Tools: the DOM inspector, styles panel, and JavaScript console. But there are a number of lesser-known features that can dramatica…

linux給文件夾圖標,linux – 如何在GNOME中以編程方式設置自定義文件夾圖標?

我終于想出了如何做到這一點&#xff01;這是一個在標準Gnome環境中工作的Python腳本&#xff1a;#!/usr/bin/env pythonimport sysfrom gi.repository import Gioif len(sys.argv) not in (2, 3):print Usage: {} FOLDER [ICON].format(sys.argv[0])print Leave out ICON to u…

jQuery序列化表單為JSON對象

[html] view plaincopy <form id"myform"> <table> <tr> <td>姓名:</td> <td> <input type"text" name"name" /> </td> </tr> …

sys模塊

與python解釋器交互的模塊 sys.argv 命令行參數List&#xff0c;第一個元素是程序本身路徑 sys.exit(n) 退出程序&#xff0c;正常退出時exit(0),錯誤退出sys.exit(1) sys.version 獲取Python解釋程序的版本信息 sys.path 返回模塊的搜索路徑…

李開復:年輕人該比誰更拼命嗎?

李開復:年輕人該比誰更拼命嗎&#xff1f; IT職場 cricode 4個月前 (04-02) 951℃ 0評論 我年輕的時候是最不注重睡眠的&#xff0c;我記得在我讀大學的時候每次要考試就因為平時玩耍太多了&#xff0c;每次要考試的時候就會灌咖啡&#xff0c;有時候一個晚上可以喝十杯咖啡不…

linux命令無視錯誤,llinux 的一些命令和錯誤

sudo tar -zxvf ./hadoop-2.6.0.tar.gz -C /usr/local # 解壓到/usr/local中source ~/.bashrc # 使變量設置生效sudo useradd -m hadoop -s /bin/bash 創建新用戶sudo adduser hadoop sudo 可為 hadoop 用戶增加管理員權限sudo mv ./hadoop-2.6.0/ ./hadoop # 將文件…

假設檢驗方差未知_設計云數據庫時如何處理未知數并做出假設

假設檢驗方差未知by Rick Mak麥瑞克(Rick Mak) 設計云數據庫時如何處理未知數并做出假設 (How to handle unknowns and make assumptions when designing a cloud database) 場景&#xff1a;鞋盒還是社交應用&#xff1f; (Scenario: Shoebox or social app?) Say you’re a…

SQL校驗優化

我的思路只能查當前的&#xff1a; ----校驗此行訂單是否已導入&#xff0c;若已導入則提示訂單號并Return -- IF EXISTS (SELECT 1 FROM DOC_Order_Header b LEFT JOIN tblData a -- ON -- a.ConsigneeID b.Consig…

nat64 dns64 linux 內核支持,搭建NAT64/DNS6實現IPv4/v6轉換

NAT64采用tayga實現&#xff0c;DNS64采用bind9.8實現。1 平臺搭建平臺為ubuntu12.04 Desktop版本。正常安裝即可。2 NAT64(tayga)2.1 安裝在終端模式下輸入sudo apt-get install tayga2.2 配置2.2.1 相關設置sudo gedit /etc/tayga.conf按照說明配置&#xff0c;目前實現方案不…

React學習筆記(持續更新)

2.2頁面加載過程 1.資源加載過程&#xff1a;URL->DNS查詢->資源請求->瀏覽器解析 ①URL結構&#xff1a;http://www.hhh.com:80/getdata?pid1#title[協議://域名&#xff1a;端口/路徑?參數#哈希] ②DNS查詢&#xff1a;瀏覽器<--&#xff08;ip&#xff09;&am…

2年工作經驗進 初創公司_溝通是關鍵:通過兩家初創公司獲得的成長經驗教訓+找工作...

2年工作經驗進 初創公司by Niki Agrawal通過尼基阿格勞瓦爾(Niki Agrawal) 溝通是關鍵&#xff1a;通過兩家初創公司獲得的成長經驗教訓找工作 (Communication is key: growth lessons learned through two startups a job hunt) It’s been a crazy two years. I founded tw…

Hibernate問題淺析

1、什么是SessionFactory&#xff1f;什么是Session&#xff1f;httpsession和hibernate的session的有什么區別&#xff1f;SessionFactory接口負責初始化Hibernate。它充當數據存儲源的代理&#xff0c;并負責創建Session對象。這里用到了工廠模式。需要注意的是SessionFactor…

Oracle中SQL語句學習五(統計分組語句group by和having)

oracle&#xff08;41&#xff09; 在 應用系統開發中&#xff0c;進行需要統計數據庫中的數據&#xff0c;當執行數據統計時&#xff0c;需要將表中的數據進行分組顯示&#xff0c;在統計分組中是通過group by子句、分組函數、having子句共同實現的。其中group by子句用于指定…

linux系統去吧,要開始另一個linux操作系統的嘗試了,說說我以前的ubuntu吧

我想&#xff0c;除了嘗試一下ubuntu的神奇魅力的同時&#xff0c;我應該去體驗一下RedHat的神奇吧&#xff01;馬上就要告別ubuntu了&#xff0c;我想把我的部分使用經歷和大家分享分享&#xff01;首先&#xff0c;無論是ubuntu8.04、10.04還是10.1的效果都是很好的&#xff…

課程編碼查詢_付出還是不付出:生活中最好的事情(例如編碼課程)是否免費?...

課程編碼查詢by Rick West由里克韋斯特(Rick West) 付出還是不付出&#xff1a;生活中最好的事情(例如編碼課程)是否免費&#xff1f; (To pay or not to pay: are the best things in life — like coding courses — free?) Recently, I’ve been working on a project tha…