問題 M 排序

2021-09-29 15:18:21 字數 1799 閱讀 4256

第二天叫醒我的不是鬧鐘,是夢想!

題目描述

有nm只奶牛,每只奶牛的頭上都印有乙個唯一的標識id,第i頭奶牛的id是正整數i。農夫fj有一塊大農田,fj把農田劃分成n行m列的格仔,每個格仔都必須有且僅有一頭奶牛在裡面工作。由於奶牛是無序動物,所以它們隨機的各自選取了乙個格仔就開始工作了。但fj希望他的奶牛是有序的,fj希望第1行的奶牛從左往右的id依次是:1,2,3,…m;第二行的奶牛從左往右的id依次是:m+1,m+2,m+3,…2m;…最後一行的奶牛從左往右的id一次是:(n-1)*m+1,(n-1)m+2,…nm。

所以農夫fj決定對奶牛進行排序。fj只能對奶牛使用兩種指令:

任意交換兩行奶牛。

任意交換兩列奶牛。

上述的兩種指令,fj可以任用無限次。

那麼fj可以達到目標嗎?如果可以,輸出「possible」,否則輸出「impossible」。

輸入

多組測試資料

第一行,乙個整數r,表示總共有r組測試資料。 1<=r<=10。

每組測試資料格式如下:

第一行,兩個整數:n和m。 1<=n,m<=50。

接下來是n行m列的格仔,第i行第j列是乙個正整數,表示一開始在該格仔工作的奶牛的id。

輸出

共r行,每行輸出「possible」,或者輸出「impossible」,雙引號不用輸出。

樣例輸入 copy

52 2

1 23 4

2 23 4

1 22 2

4 31 2

1 10

4 5 1 2 9 8 3 10 7 6

3 510 6 8 9 7

5 1 3 4 2

15 11 13 14 12

樣例輸出 copy

possible

possible

impossible

possible

possible

//行會分為不同的區域。拿最後乙個樣例,這三行第一行屬於1區域,第二行屬於0區域,第三行屬於2區域。一旦有問題肯定不能調換。而且對於每列得到元素來說%m必須相等的。

#include.h>

using namespace std;

const int n=55

;int a[n]

[n],b[n]

[n],c[n]

[n];

int t,n,m;

int main()

int f=0;

for(int i=

1;i<=n;i++

)for

(int j=i+

1;j<=n;j++

)for

(int k=

1;k<=m;k++)if

(b[i]

[k]!=b[j]

[k])

for(int i=

1;i<=m;i++

)for

(int j=

1;j<=m;j++

)for

(int k=

1;k<=n;k++)if

(c[k]

[i]!=c[k]

[j])

if(f)

puts

("impossible");

else

puts

("possible");

}}

mysql 長度問題( M )

mysql在建表的時候int型別後的長度代表什麼?是該列允許儲存值的最大寬度嗎?為什麼我設定成int 1 也一樣能存10,100,1000呢.當時我雖然知道int 1 這個長度1並不代表允許儲存的寬度,但卻沒有乙個合理的解釋.或者說對這個長度也沒有真正的研究過到底代表什麼,平時都用int 11 也不...

問題 M 節目安排

假期到了,天寶終於可以無壓力的看電視了。但是他喜歡的節目有點多,如何盡可能多的看到完整的節目。他把喜歡的節目時間表給你,請幫他安排一下吧。輸入包含多組測試資料。每組輸入的第一行是乙個整數n n 100 表示天寶喜歡的節目的總數。接下來n行,每行輸入兩個整數si和ei 1 i n 表示第i個節目的開始...

Jupyter notebook 開啟問題 MAC

10.12.6系統的 mac pip install jupyter notebook 後,有顯示this scripts jupyter.are installed in usr local bin which isi not on path.consider adding this direct...