結果
| 問題 | No.3657 Gathering Stones |
| コンテスト | |
| ユーザー |
nekoti
|
| 提出日時 | 2026-08-30 14:20:31 |
| 言語 | C (gcc 15.3.0) |
| 結果 |
AC
|
| 実行時間 | 0 ms / 2,000 ms |
| + 818µs | |
| コード長 | 1,517 bytes |
| 記録 | |
| コンパイル時間 | 1,582 ms |
| コンパイル使用メモリ | 39,668 KB |
| 実行使用メモリ | 6,272 KB |
| 最終ジャッジ日時 | 2026-08-30 14:20:36 |
| 合計ジャッジ時間 | 3,043 ms |
|
ジャッジサーバーID (参考情報) |
judge3_0 / judge2_0 |
(要ログイン)
| ファイルパターン | 結果 |
|---|---|
| other | AC * 57 |
ソースコード
#define _DEBUG 0
#include<stdio.h>
#include<stdbool.h>
#include<string.h>
#include<stdlib.h>
int main(void)
{
int scan;//scanf警告用
int ans=0;
int i, j;
int n,m;scan=scanf("%d%d",&n,&m);
char hw[111][111];
for(i=0; i<n; i++)
{
scan=scanf("%s",hw[i]);
}
int tatecount[111]={0};//縦(j列)の#個数
for(j=0; j<m; j++)
{
for(i=0; i<n; i++)
{
if(hw[i][j]=='#')tatecount[j]++;
}
}
//■
char hw2[111][111]={0};
//【縦のやつをまず上側につめる。】
for(i=0; i<m; i++)
{
#if _DEBUG
printf("i=%d : %d 個\n",i,tatecount[i]);
#endif
for(j=0;j<tatecount[i];j++)hw2[j][i]='#';
for(; j<n; j++)hw2[j][i]='.';
}
#if _DEBUG
for(i=0; i<n; i++)
{
printf("%s\n",&hw2[i]);
}
#endif
//【次は横を】
int yokocount[111]={0};//横(i行)の#個数
for(i=0; i<n; i++)
{
for(j=0; j<m; j++)
{
if(hw2[i][j]=='#')yokocount[i]++;
}
}
#if _DEBUG
printf("%d %d %d %d \n",yokocount[0],yokocount[1],yokocount[2],yokocount[3]);
printf("%d %d %d %d \n",tatecount[0],tatecount[1],tatecount[2],tatecount[3]);
puts("");
#endif
//【次は横のやつを左側につめる。】
char hw3[111][111]={0};
for(i=0; i<n; i++)
{
#if _DEBUG
printf("i=%d : %d 個\n",i,yokocount[i]);
#endif
for(j=0;j<yokocount[i];j++)hw3[i][j]='#';
for(; j<m; j++)hw3[i][j]='.';
}
for(i=0; i<n; i++)
{
printf("%s\n",&hw3[i]);
}
return scan-scan;
}
nekoti