P1319 壓縮技術
阿新 • • 發佈:2017-08-11
amp break for sin can algorithm clu %d 一行
題目描述
設某漢字由N X N的0和1的點陣圖案組成,如下圖。我們依照以下規則生成壓縮碼。連續一組數值:從漢字點陣圖案的第一行第一個符號開始計算,按書寫順序從上到下,由左到右。第一個數表示連續有幾個0,第二個數表示接下來連續有幾個1,第三個數再接下來連續有幾個0,第四個數接著連續幾個1,以此類推。。。
例如: 以下漢字點陣圖案:
0001000
0001000
0001111
0001000
0001000
0001000
1111111
對應的壓縮碼是: 7 3 1 6 1 6 4 3 1 6 1 6 1 3 7 (第一個數是N ,其余各位表示交替表示0和1 的個數,壓縮碼保證 N X N=交替的各位數之和)
輸入輸出格式
輸入格式:
一行,壓縮碼。
輸出格式:
漢字點陣圖(點陣符號之間不留空格)。(3<=N<=200)
輸入輸出樣例
輸入樣例#1:7 3 1 6 1 6 4 3 1 6 1 6 1 3 7輸出樣例#1:
0001000 0001000 0001111 0001000 0001000 0001000 1111111
#include<iostream> #include<cstdio> #include<string.h> #include<algorithm> #include<math.h> using namespace std; int n,a,t,tot,all; int main() { cin>>n; while(scanf("%d",&a)) { for(int i=1;i<=a;i++) { ++tot; printf("%d",t); if(tot%n == 0) cout<<endl; } t=!t; if(tot==n*n) break; } return 0; }
P1319 壓縮技術