傳送
輸入輸出樣例:(洛咕的太醜了就不放了)
(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()//以及蒟蒻太過蒟蒻,全是1的情況只能特判掉三組"-"
void lie()//
兩組"|"
細節神馬的見**吧
#includeusingnamespace
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...