結果
問題 | No.707 書道 |
ユーザー |
![]() |
提出日時 | 2018-07-15 18:13:53 |
言語 | C++11 (gcc 13.3.0) |
結果 |
AC
|
実行時間 | 3 ms / 2,000 ms |
コード長 | 1,039 bytes |
コンパイル時間 | 706 ms |
コンパイル使用メモリ | 85,208 KB |
実行使用メモリ | 6,820 KB |
最終ジャッジ日時 | 2024-11-06 21:52:34 |
合計ジャッジ時間 | 1,223 ms |
ジャッジサーバーID (参考情報) |
judge3 / judge1 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 3 |
other | AC * 6 |
ソースコード
#include<iomanip>#include<cstdio>#include<cstring>#include<vector>#include<queue>#include<stack>#include<algorithm>#include<cmath>#include<climits>#include<string>#include<set>#include<numeric>#include<map>#include<iostream>using namespace std;#define rep(i,n) for(int i = 0;i<((int)(n));i++)#define reg(i,a,b) for(int i = ((int)(a));i<=((int)(b));i++)#define irep(i,n) for(int i = ((int)(n)-1);i>=0;i--)#define ireg(i,a,b) for(int i = ((int)(b));i>=((int)(a));i--)typedef long long ll;typedef pair<ll, ll> mp;ll mod = 1e9+7;ll inf = 1e18;//ACll h,w;string p[100];double ans=999999;double dist(ll x,ll y){double d=0;reg(i,1,h){reg(j,1,w){if(p[i][j-1]=='1'){d+=sqrt(pow(x-j,2)+pow(y-i,2));// cout<<d<<endl;}}}return d;}int main(void){cin>>h>>w;reg(i,1,h){cin>>p[i];}reg(i,1,w)ans=min(ans,dist(i,0));reg(i,1,w)ans=min(ans,dist(i,h+1));reg(i,1,h)ans=min(ans,dist(0,i));reg(i,1,h)ans=min(ans,dist(w+1,i));cout<<fixed<<setprecision(15)<<ans<<endl;return 0;}