qq有乙個有趣的功能即顯示好友互動標識,它的規則是這樣的,如果兩個人之間互發訊息連續3天以上(包含3天)則出現擦出火花的標識,如果互發訊息連續30天以上(包含30天)則出現聊得火熱的標識,當出現了聊得火熱的標識時,原來的擦出火花標識會被替換成聊得火熱標識。如果兩個人已經連續互發訊息3天以上(包含3天)或者30天以上(包含30天),之後的一天沒有互發訊息,那麼無論是擦出火花還是聊得火熱的標識都會消失,需要重新開始統計連續的天數才能繼續出現好友互動標識。
jj有x個好友,好友名字用數字編號從1到x的這x個數字表示。給定乙個二維矩陣a描述jj連續n天和她的好友聊天情況(假定在此之前jj和她的好友們沒有聊過天),a[i][j](1<=i<=n,1<=j<=x)表示第i天jj與編號為j的人的聊天情況,如果a[i][j]=1表示jj與編號j的人在第i天聊了天,a[i][j]=0 則表示沒有聊天。a[i][j]只能是0或者1。現在的問題是,根據給出的聊天統計,給出jj在n天後,分別和編號為1到x的好友的聊天狀態是怎樣的。
第一行給定乙個t(t<=10)表示輸入資料組數;
對每一組資料先給定兩個整數n(1<=n<=1000),x(1<=x<=1000)
然後下面給出乙個n行x列的矩陣a,矩陣元素為0或者1,矩陣意義如題意;
對於每一組資料,輸出一行, 即n天後jj與編號1到編號x的好友的聊天狀態。每兩個好友的聊天狀態之間用空格分開。
聊天狀態的輸出表示為以下三種:
(1) 沒有好友互動標識輸出0
(2) 擦出火花輸出1
(3) 聊得火熱輸出2
2
3 20 1
0 11 1
3 21 1
1 11 1
0 1
1 1
最原始的做法:用乙個計數器,當遇到中斷就清零,重新計數,以最終的數字來判斷標識
比較早寫的,**無處不透露出蒟蒻的氣息。。。
#include#includeint a[1000][1000];
int b[1000];
int main()
else if(b[j]==0)
b[j]+=a[i][j];}}
for(j=0;j=0&&b[j]<=2)
printf("0 ");
else if(b[j]>=3&&b[j]<=29)
printf("1 ");
else if(b[j]>=30)
printf("2 ");
}j=x-1;
if(b[j]>=0&&b[j]<=2)
printf("0\n");
else if(b[j]>=3&&b[j]<=29)
printf("1\n");
else if(b[j]>=30)
printf("2\n");
}return 0;
}
hnustOJ 1693 原石法陣
wzh有乙個由原石構成的n階三角形魔法陣,三角形魔法陣如下圖 但是wzh現在想要將這個魔法陣改造成乙個n階五邊形魔法陣,五邊形魔法陣如下圖 wzh發現並不是每乙個n階三角形魔法陣和n階五邊形魔法陣所用的石頭都是一樣的,所以wzh想知道將現在的n階三角形魔法陣改造為n階五邊形魔法陣還需要多少原石?不過...
MT 174 凹凸無妨
已知函式 f x x 3 3x 2 ax b 對任意 a,b in r 存在 x in 3,0 使得 f x le m 成立,求 m 的範圍.求 displaystyle min max x 3 3x 2 ax b 解 由於 begin 6m a,b geq 2 f 3 3 f 2 f 0 geq ...
174 按奇偶排序陣列
題目描述 給定乙個非負整數陣列 a,返回乙個由 a 的所有偶數元素組成的陣列,後面跟 a 的所有奇數元素。你可以返回滿足此條件的任何陣列作為答案。示例 輸入 3,1,2,4 輸出 2,4,3,1 輸出 4,2,3,1 2,4,1,3 和 4,2,1,3 也會被接受。1 a.length 5000 0...