亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb

首頁 > 編程 > C > 正文

C語言金幣陣列問題解決方法

2020-01-26 15:18:52
字體:
來源:轉載
供稿:網友

本文實例詳細講述了C語言實現金幣陣列問題的解決方法,分享給大家供大家參考。具體方法如下:

問題描述:

有m*n(1 ≤ m, n ≤ 100)個金幣在桌面上排成一個 m 行 n 列的陣列。每一枚金幣或正面朝上或背面朝上。用數字表示金幣狀態,0表示金幣正面朝上,1 表示背面朝上。

金幣陣列游戲的規則是:

1. 每次可將任一行金幣翻過來放在原來的位置上;
2. 每次可任選 2 列,交換這 2 列金幣的位置。
本題要求對于給定的金幣陣列初始狀態和目標狀態,編程計算按金幣游戲規則,將金幣陣列從初始狀態變換到目標狀態所需的最少變換次數。

數據輸入:

輸入的測試數據的第一行是一個不超過 10 的正整數 k,表示有 k 個測試用例. 每個測試用例的第一行是兩個正整數 m, n. 接下來是 m 行,每行有 n 個用空白符分隔的 0 或 1. 這 m*n 個 0-1 表示金幣的初始狀態陣列。最后是 m 行,每行 n 個 用空白符分隔的 0 或 1,表示金幣陣列的目標狀態。

數據輸出:

對于每個測試用例,輸出一行包含一個整數,表示按照要求規則將金幣陣列從初始狀態變換為目標狀態所需要的最少變換次數。如果不能按照變換規則將初始狀態變換為目標狀態(即無解時)則輸出 -1。

數據樣例:

Sample Input
2
4 3
1 0 1
0 0 0
1 1 0
1 0 1
1 0 1
1 1 1
0 1 1
1 0 1
4 3
1 0 1
0 0 0
1 0 0
1 1 1
1 1 0
1 1 1
0 1 1
1 0 1

Sample Output
2
-1

C語言實現代碼如下:

#include "stdio.h"#include "stdlib.h"#define size 100int num; //輸入幾組數據 int row; //行數int column; //列數int count; //交換次數int min;int a[size][size]; //初始矩陣int b[size][size]; //最終矩陣int c[size][size]; //臨時存放矩陣int found; //初始到最終是否有交換void trans_row(int x) // 第x行取反 {  int i;  for (i = 0;i<column; i++)     b[x][i] = b[x][i]^1; // 異或取反   count++;}void trans_column(int x, int y) // 交換x和y列 {  int i;  int temp;  for(i = 0; i < row; i++){   temp=b[i][x];   b[i][x]=b[i][y];   b[i][y]=temp;  }  if (x != y)    count++;}int is_same(int x, int y) //比較x和y列是否相同 {  int i;  for(i = 0; i <row; i++)    if (a[i][x] != b[i][y])      return 0;  return 1;}void copy(int a[size][size], int b[size][size]) // 拷貝數組 {  int i,j;  for (i = 0; i <row; i++)   for (j = 0; j < column; j++)     a[i][j] = b[i][j];}int main(){  int i,j,k,p;  int exchgmin[size];  scanf("%d",&num);  for(i=0;i<num;i++){    scanf("%d",&row);    scanf("%d",&column);    for(j=0;j<row;j++)     for(k=0;k<column;k++)      scanf("%d",&a[j][k]);    for(j=0;j<row;j++)     for(k=0;k<column;k++)      scanf("%d",&b[j][k]);    copy(c,b); //保護原始數組b     min=row+column+1;    for(j=0;j<column;j++){     copy(b,c); //恢復原始數組b      count=0;  //交換次數清零      trans_column(0,j); //把每一列都假設成為第一列的目標狀態,窮舉這column中情況      for(k=0;k<row;k++){ //如果行不同,則將行轉換       if(a[k][0]!=b[k][0])       trans_row(k);     }     for(k=0;k<column;k++){//窮舉其他所有列,如果相同則交換,說明目標狀態統一,否則找不到與該列相同,說明不可行        found=0;       for(p=k;p<column;p++){        if(is_same(k,p)){         trans_column(k,p);         found=1;         break;        }       }       if(!found)        break;     }     if(found&&count<min) //如果可行,找出最小值        min=count;     }   if(min<row+column+1) //如果交換次數比初始值小,將其保存為當前組的最小交換次數,否則不可實現交換      exchgmin[i]=min;   else exchgmin[i]=-1;  }  for(i=0;i<num;i++)   printf("%d/n",exchgmin[i]);  system("pause");  return 0;}

希望本文所述對大家C程序算法設計的學習有所幫助。

發表評論 共有條評論
用戶名: 密碼:
驗證碼: 匿名發表

圖片精選

亚洲香蕉成人av网站在线观看_欧美精品成人91久久久久久久_久久久久久久久久久亚洲_热久久视久久精品18亚洲精品_国产精自产拍久久久久久_亚洲色图国产精品_91精品国产网站_中文字幕欧美日韩精品_国产精品久久久久久亚洲调教_国产精品久久一区_性夜试看影院91社区_97在线观看视频国产_68精品久久久久久欧美_欧美精品在线观看_国产精品一区二区久久精品_欧美老女人bb
欧美性猛交xxxx乱大交3| 深夜福利一区二区| 精品国产乱码久久久久久天美| 亚洲娇小xxxx欧美娇小| 亚洲第一中文字幕| 日韩中文字幕视频在线| 中文字幕综合一区| 久久人人爽人人爽人人片av高清| 成人免费淫片视频软件| 日本一区二区三区在线播放| 久久av资源网站| 久久男人av资源网站| 久久网福利资源网站| 欧美日韩中文字幕在线视频| 国产精品丝袜久久久久久高清| 国产精品网站入口| 亚洲第一二三四五区| 欧美日韩精品二区| 日韩不卡在线观看| 欧美激情久久久久| 韩曰欧美视频免费观看| 欧美性精品220| 久久久久久久网站| 国产成人黄色av| 欧美日韩一区二区在线| 91精品国产高清| 国产精品视频自在线| 欧美一区在线直播| 都市激情亚洲色图| 欧美性xxxxhd| 欧美激情精品久久久久久久变态| 色噜噜狠狠狠综合曰曰曰88av| 亚洲专区国产精品| 九九视频这里只有精品| 高跟丝袜欧美一区| 国产一区二区三区视频在线观看| 国产xxx69麻豆国语对白| 国产精品影片在线观看| 日韩av网站导航| 中文字幕欧美日韩| 亚洲一区国产精品| 性色av一区二区三区红粉影视| 欧美多人乱p欧美4p久久| 久久久久久com| 欧美一级淫片丝袜脚交| 日韩精品极品视频| 欧美激情精品久久久久久大尺度| 国产手机视频精品| 国产精品免费视频xxxx| 亚洲新中文字幕| 77777少妇光屁股久久一区| 欧美重口另类videos人妖| 久久久久久国产精品久久| 午夜精品久久久久久久男人的天堂| 精品国产欧美一区二区三区成人| 成人久久一区二区| 精品亚洲夜色av98在线观看| 欧美成人在线影院| 日韩电影中文字幕av| 在线亚洲国产精品网| 国产日韩欧美中文| 亚洲va电影大全| 韩国精品美女www爽爽爽视频| 国产热re99久久6国产精品| 亚洲精品欧美日韩| 国产精品直播网红| 久久视频在线直播| 亚洲精品720p| 久久精品国产免费观看| 搡老女人一区二区三区视频tv| 欧美日韩国产丝袜美女| 亚洲色图第一页| 亚洲精品网址在线观看| 成人h片在线播放免费网站| 国产精品视频久久久| 亚洲一区二区三区sesese| 精品亚洲一区二区三区| 最新69国产成人精品视频免费| 久久夜精品香蕉| 国产精品久久精品| 中文字幕视频在线免费欧美日韩综合在线看| 91高清视频免费| 国产91成人在在线播放| 国产成人精品久久| 国产va免费精品高清在线| 国产精品久久久久久中文字| 成人欧美一区二区三区在线湿哒哒| 欧美性视频在线| 亚洲国产天堂久久综合网| 亚洲片国产一区一级在线观看| 久久人人爽人人爽人人片亚洲| 欧美成人激情视频| 欧美激情一二三| 亚洲一区二区中文字幕| 奇米四色中文综合久久| 亚洲成人av资源网| 欧美一区二区三区图| 欧美成人国产va精品日本一级| 亚洲综合中文字幕68页| 亚洲精品久久久久| 欧美精品www| 久久亚洲精品中文字幕冲田杏梨| 亚洲自拍中文字幕| 在线播放日韩欧美| 欧美激情手机在线视频| 欧美色播在线播放| 在线播放精品一区二区三区| 丝袜美腿亚洲一区二区| 亚洲精品福利在线| 国产精品青草久久久久福利99| 成人免费激情视频| 欧美xxxx做受欧美.88| 日本aⅴ大伊香蕉精品视频| 亚洲爱爱爱爱爱| 亚洲国产高清高潮精品美女| 日韩精品在线观看视频| 亚洲一区二区三区xxx视频| 黑人巨大精品欧美一区二区三区| 日本欧美精品在线| 国产成人精品视频在线| 日韩精品免费在线播放| 国产精品综合网站| 亚洲tv在线观看| 日韩福利伦理影院免费| 精品久久久久久中文字幕大豆网| 中文字幕亚洲欧美在线| 97婷婷涩涩精品一区| 亚洲性xxxx| 亚洲成人av片| 成人欧美一区二区三区在线湿哒哒| 久久久久免费精品国产| 国产成人精品久久久| 久久久精品国产一区二区| 日本19禁啪啪免费观看www| 97av在线视频免费播放| 国产色综合天天综合网| 日韩av网站大全| 中文字幕自拍vr一区二区三区| 91九色综合久久| 亚洲欧美在线播放| 国产亚洲成av人片在线观看桃| 国产日产亚洲精品| 在线观看欧美日韩| 欧美日韩在线观看视频| 日韩国产精品视频| 精品视频在线播放| 91精品免费久久久久久久久| 日韩成人在线视频| 欧美精品aaa| 久久成人一区二区| 日产精品久久久一区二区福利| 日韩精品欧美激情| 91国内揄拍国内精品对白| 97视频在线观看网址| 欧美疯狂做受xxxx高潮| 国产精品一区二区久久国产| 国产又爽又黄的激情精品视频| 欧美激情区在线播放| 亚洲欧洲一区二区三区在线观看| www亚洲欧美| 欧美夜福利tv在线| 久久久久久国产精品久久| 美日韩精品免费观看视频| 国产香蕉精品视频一区二区三区|