P1538迎春舞會之數字舞蹈

2022-04-12 03:02:04 字數 1641 閱讀 5150

傳送

輸入輸出樣例:(洛咕的太醜了就不放了)

(1前面有三個空格)

這真是一群閒(qian)圈(zou)的人。大號+小號提交了不下10遍終於a了

好了我們來研究一下這些數字"美觀"的構造

單獨擷取乙個數字:

(k=2)

我們發現"|"與"-"不在同一列上(hin重要),而且k是原數字的豎線和橫線的總長度,是整個數字的寬度。

在樣例中,"1"的前面有三個空格,顯然1比較特殊,我們來研究一下1的擺放 

第乙個1前面有4個空格,其他的1前面有5個空格。

結合樣例,我們可以得出1是右對齊(也就是前面要有k+1個空格),不是第乙個數字的1因為多了乙個空格,所以前面是k+2個空格。

接下來我們就可以打表了(蒟蒻只會打表)

我們用cnt記錄當前的字元在答案中的哪一列(第乙個1前面的空格沒有算在內,在最後會處理),同時會發現有很多數字有一些神奇的結構(見下圖)

就是有三組"-",兩組在同一列上的"|",所以我們可以把這種方式寫成兩個函式。

void work()//

三組"-"

void lie()//

兩組"|"

以及蒟蒻太過蒟蒻,全是1的情況只能特判掉

細節神馬的見**吧

#includeusing

namespace

std;

intk,cnt,one;

string

cc;char ans[1009][509

];void

work()

void

lie()

intmain()

printf("\n

");}

printf("\n

");for(int e=1;e<=k;e++)

printf("\n

");}

return0;

} for(int i=0;i)

if(cc[i]=='2'

)

if(cc[i]=='0'

)

if(cc[i]=='3'

)

if(cc[i]=='4'

)

if(cc[i]=='5'

)

if(cc[i]=='6'

)

if(cc[i]=='7'

)

if(cc[i]=='8'

)

if(cc[i]=='9'

)

}for(int i=1;i<=3+2*k;i++)

for(int j=1;j<=cnt;j++)

cout

P1538 迎春舞會之數字舞蹈

p1538 迎春舞會之數字舞蹈 將數字列印成指定大小的數碼體,大小指的是橫和豎的長度。可以發現,數碼體中,數字都是由七部位組成 上橫,左上豎,右上豎,中橫,左下豎,右下豎,下橫 所以我們先用乙個陣列把從0到9其包含的部位資訊記錄下來,比如g 0 是記錄上橫的,0 有上橫,所以g 0 0 1,而 1 ...

洛谷P1538迎春舞會之數字舞蹈

hnsdfz的同學們為了慶祝春節,準備排練一場舞會。在越來越講究合作的時代,人們注意的更多的不是個人物的舞姿,而是集體的排列。為了配合每年的倒計時,同學們決定排出 數字舞蹈 顧名思義就是所有人一起排成若干個數字 更為創新的是,每個人都是趴在地上,保證橫豎。現在給出數字及其要求擺出的大小,請你程式設計...

洛谷 P1538 迎春舞會之數字舞蹈

給你乙個字串,讓你列印出不同大小的字元形式。很鬼畜的一道題,雖然簡單但是還是想紀念一下。剛好拿來磨合一下新鍵盤哈哈 模擬即可。主要是思路一定要捋順咯,不然會錯。include include include include using namespace std int main else else...