/***********************************************************************
* kadai116
* ラベリングをするプログラム作成
* (ノーヒント!!)
* (問題は、ソース上に定義してもよいです)
*
* 作成日: 2008年12月13日
* 更新日: 2008年12月20日 am 8:50
* 備考 :
************************************************************************/
main( )
{
char a[13][18+1] = { {"100000000000000000"}, /* 0 */
{"000000001111111001"}, /* 1 */
{"101000001111111000"}, /* 2 */
{"011100001111111000"}, /* 3 */
{"001110010000000000"}, /* 4 */
{"000100111000000010"}, /* 5 */
{"000001111100000010"}, /* 6 */
{"000000111000001110"}, /* 7 */
{"011110011000110000"}, /* 8 */
{"011110001001111000"}, /* 9 */
{"011110000000111000"}, /* 10 */
{"000000111100111000"}, /* 11 */
{"000000000000000000"} }; /* 12 */
int i; /* 縦 */
int m; /* 横 */
char s; /* ラベル */
int b; /* マーク縦 */
int c; /* マーク横 */
char g[13][18+1] = { {"000000000000000000"}, /* 0 */
{"000000000000000000"}, /* 1 */
{"000000000000000000"}, /* 2 */
{"000000000000000000"}, /* 3 */
{"000000000000000000"}, /* 4 */
{"000000000000000000"}, /* 5 */
{"000000000000000000"}, /* 6 */
{"000000000000000000"}, /* 7 */
{"000000000000000000"}, /* 8 */
{"000000000000000000"}, /* 9 */
{"000000000000000000"}, /* 10 */
{"000000000000000000"}, /* 11 */
{"000000000000000000"} }; /* 12 */
for(i=0;i<13;i++){
for(m=0;m<18;m++){
if(a[i][m]=='0'){
printf(" ");
}else{
printf("%c",a[i][m]);
}
}
printf("\n");
}
s = '1';
for(i=0;i<13;i++){
for(m=0;m<18;m++){
while(a[i][m]=='1'){
b = i;
c = m;
while(a[b][c]=='1'){
while(a[b][c]=='1'){
a[b][c]=0;
g[b][c]=s;
c++;
}
b++;
c = m;
if(a[b][--c]=='1' && a[b][c+1]=='1'){
while(a[b][c-1]=='1'){
c--;
}
}else if(a[b][++c]=='1'){
}else if( a[b][++c]=='1' && g[b-1][c]!='0'){
}else{
break;
}
}
s++;
}
}
}
for(i=0;i<13;i++){
for(m=0;m<18;m++){
if(g[i][m]=='0'){
printf(" ");
}else{
printf("%c",g[i][m]);
}
}
printf("\n");
}
}
指摘はクリアできた。
でもね、次に言われることはわかってるの
次のテストケースはたぶん・・・
100000000000000000
000000001111111001
101000001111111000
011100001111111000
001110010000000000
000100111000000010
000001111110000010
000000111010001110
011110011000110000
011110001001111000
011110000000111000
000000111100111000
000000000000000011
うーん。。。
ひじりさん、もうしばらくお待ちください♪
|