一些代碼-二分圖格子進(jìn)行覆蓋如果可以全部就putsYES_第1頁(yè)
一些代碼-二分圖格子進(jìn)行覆蓋如果可以全部就putsYES_第2頁(yè)
一些代碼-二分圖格子進(jìn)行覆蓋如果可以全部就putsYES_第3頁(yè)
已閱讀5頁(yè),還剩5頁(yè)未讀, 繼續(xù)免費(fèi)閱讀

下載本文檔

版權(quán)說(shuō)明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請(qǐng)進(jìn)行舉報(bào)或認(rèn)領(lǐng)

文檔簡(jiǎn)介

POJ2446N*MK2*1的矩形,對(duì)所有非空洞puts("YES");(除了洞),+K=N*MYES#defineMAX1089boolg[MAX][MAX//鄰接矩陣,trueboolflag,visit[MAX//記錄V2intmatch[MAX];//記錄與V2中的點(diǎn)匹配的點(diǎn)的編號(hào)intcnt;//二分圖中左邊、右邊集合中頂點(diǎn)的數(shù)目boolhole[MAX][MAX];intbooldfs(int{for(inti=1;i<=cnt;{ifg[u][i&&visit[i])//如果節(jié)點(diǎn)iu{visit[i //標(biāo)記i為已查if(match[i]==-1||dfs(match[i]))//如果i 一個(gè)匹配M中,或者在匹配M中,但是從與i相鄰的節(jié)點(diǎn)出發(fā)可以有增廣路{match[iu;//記錄查找成功記錄,更新匹配M(即“取反return //返回查找成}}}return}int{intfor(i=1;i<=cnt;++i){memset(visit,false,sizeof(visit));//if(dfs(i //從節(jié)點(diǎn)i嘗試擴(kuò){}}return}int{intwhile(scanf("%d%d{for(i=1;i<=k;++i){scanf("%dhole[x][y]=}if((m*n-k)&1)//{}cnt=for(i=1;i<=m;{for(j=1;j<=n;{if(hole[i][jfalse)//{id[i][j] }}}}for(i=1;i<=m;{for(j=1;j<=n;{if(hole[i][j]=={if(i-1>0&&hole[i-1][jfalse//建圖,要注意邊界問(wèn)題g[id[i][j]][id[i-1][j]]=true;if(i+1<=m&&hole[i+1][j]==g[id[i][j]][id[i+1][j]]=true;if(j-1>0&&hole[i][j-1]==false)g[id[i][j]][id[i][j-1]]=true;if(j+1<=n&&hole[i][j+1]==false)g[id[i][j]][id[i][j+1]]=}}}ans=ifanscnt)//}return}POJ2724題意:有一臺(tái)可以凈化奶酪的機(jī)器,用二進(jìn)制表示凈化的奶酪的編號(hào)。但->010100和011100?,F(xiàn)在由于不,他以同樣的方式弄臟了某些奶酪,問(wèn)你最少操作數(shù)=總污染數(shù)-2*最大匹配+最大匹配。(代碼中求出的最大匹配數(shù)是實(shí)際值的2倍)。判斷二進(jìn)制是否之差一位C=A^B; #include<iostream>#include<cstdio>#include<cstdlib>#include<cmath>#include<climits>#include<vector>#include<map>#include<iomanip>#include<algorithm>usingnamespacestd;typedeflonglongll;intn,m,vv;intmatch[1010],use[1010];vector<int>gg[1010];intdfs(int{inti,j;use[x]=1;for(i=0;i<gg[x].size();{intu=gg[x][i],w=match[u];if(w<0||!use[w]&&dfs{match[x]=u;match[u]=x;return1;}}return}inthungary{intres=memset(match,-1,for(intv=0;v<vv;{if(match[v]==-{memset(use,0,sizeof(use));if(dfs(v))res++;}}return}intmain{inti,while(cin>>n>>{if(n==0&&m==intche[2010];//沒用set的話這邊數(shù)組要開兩倍,set有重復(fù)就去除for(i=0;i<1010;i++)gg[i].clear();vv=0;while(m--){getchar();charch;intsum=0;intmarki=-1;for(i=n-1;i>=0;i--{ch=getchar();if(ch=='*'){marki=sum=sum*}elsesum=sum*2+(ch-}che[vv++]=if(marki!=-1)che[vv++]=(sum+(int)pow(2.0,}sort(che,chevv);//排序unique是去掉相鄰的重復(fù),所以要先排序vv=unique(che,che+vv)-che;//去重復(fù)for(i=0;i<vv-1;{for(j=i+1;j<vv;{intc=che[i]^if(c&&((c&(c1))0))//二進(jìn)制只差一位可以這樣表{gg[i].push_back(j);//建圖,把那些只差一位的數(shù)字做邊gg[j].push_back(i);}}}coutvvhungaryendl;//匈牙利模板,所有點(diǎn)減去最大匹}return}usingnamespacestd;constintmaxn=55;constintmaxm=105;intcnt[maxn];intmat[maxm][maxm];voidinit(){memset(cnt,0,memset(mat,0,}intn,intvis[maxm],intdfs(intnow,intc){//多加一個(gè)氣球顏色的參//intfor(inti=1;i<=n;if(vis[i]0&&mat[now][i]c){//用行去匹配列vis[i]=1;if(link[i]==-1||dfs(link[i],c)){link[i]=now;return}}}return}intkm(intmemset(link,-1,sizeof(link));intans=0;for(inti=1;i<=n;i++){memset(vis,0,sizeof(vis));ans+=dfs(i,c);}return}intwhile(scanf("%d%d",&n,&k)==2,n+k){for(inti=1;i<=n;for(intj=1;j<=n;j++){scanf("%d",&mat[i][j]);}}intnum[maxn];intCNT=0;for(inti=1;i<=50;i++){if(cnt[i]&&km(i)>k){num[CNT]=i;}}if(CNT==printf("%d",for(inti=1;i<CNT;i++)printf("%d",num[i]);}}return}Hdu2236在一個(gè)n*n的矩陣中,找n個(gè)數(shù)使得這n個(gè)數(shù)都在不同的行和列里并且要求這n個(gè)數(shù)#include<iostream>#include<cstdio>#include<cstdlib>#include<cstring>#include<cmath>#include<climits>#include<iomanip>#include<algorithm>usingnamespacestd;intmaxx,minn;int_,cases=0,mark;constintMAX_N=110;intmm[MAX_N][MAX_N];intmx[MAX_N],my[MAX_N];//分兩個(gè)數(shù)組就不用[0,n)[n,n+n)這樣分行列了intuse[MAX_N];intv,n,l,r,mid,low;intdfs(intx){inti,for(i=0;i<n;{if(mm[x][i]>=low&&mm[x][i]<=low+/加上對(duì)邊,也就是圖中值的要{use[i]=if(my[i]==-1||{my[i]=x;mx[x]=i;return1;}}}return}int{memset(mx,1,sizeof(mx));//mx行的匹memset(my,1,sizeof(my));//my列的匹配for(v=0;v<n;v++){memset(use,0,if(!dfs(v))return0;//一旦有某一行沒有匹配到就返回}return}int{inti,j;cin>>_;while(_--){cin>>maxx=-100,minn=100;for(i=0;i<n;i++){for(j=0;j<n;{cin>>maxxmax(mm[i][j],maxx);//找出圖中最大最小的數(shù)值m

溫馨提示

  • 1. 本站所有資源如無(wú)特殊說(shuō)明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請(qǐng)下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請(qǐng)聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁(yè)內(nèi)容里面會(huì)有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫(kù)網(wǎng)僅提供信息存儲(chǔ)空間,僅對(duì)用戶上傳內(nèi)容的表現(xiàn)方式做保護(hù)處理,對(duì)用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對(duì)任何下載內(nèi)容負(fù)責(zé)。
  • 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請(qǐng)與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時(shí)也不承擔(dān)用戶因使用這些下載資源對(duì)自己和他人造成任何形式的傷害或損失。

評(píng)論

0/150

提交評(píng)論