結果
問題 | No.2692 How Many Times Reached? |
ユーザー |
![]() |
提出日時 | 2024-03-22 21:36:11 |
言語 | C++17 (gcc 13.3.0 + boost 1.87.0) |
結果 |
AC
|
実行時間 | 10 ms / 2,000 ms |
コード長 | 1,415 bytes |
コンパイル時間 | 2,170 ms |
コンパイル使用メモリ | 196,532 KB |
最終ジャッジ日時 | 2025-02-20 11:20:31 |
ジャッジサーバーID (参考情報) |
judge3 / judge5 |
(要ログイン)
ファイルパターン | 結果 |
---|---|
sample | AC * 4 |
other | AC * 43 |
ソースコード
#include <bits/stdc++.h> using namespace std; #define rep(i,n) for(int i=0;i<n;i++) #define per(i,n) for(int i=n-1;i>=0;i--) #define rng(i,c,n) for(int i=c;i<n;i++) #define fi first #define se second #define pb push_back #define all(a) a.begin(), a.end() #define sz(a) ((int) a.size()) #define vec(...) vector<__VA_ARGS__> #define _4ab8goq ios::sync_with_stdio(0),cin.tie(0); typedef long long ll; typedef vector<int> vi; typedef pair<int,int> pii; void print(){cout<<'\n';} template<class h,class...t> void print(const h&v,const t&...u){cout<<v<<' ',print(u...);} void slv(){ int n; cin>>n; vec(string) a(n); rep(i,n){ cin>>a[i]; } int ans=0; rep(i,n){ rep(j,n){ if(a[i][j]=='.'){ a[i][j]='A'; // int pok=0; { int fnd=0; rep(k,n){ if(a[k][j]!='A'){ fnd=1; } } if(!fnd) ans+=1; } // if(i==2 and j==0) print(pok); { int fnd=0; rep(k,n){ if(a[i][k]!='A'){ fnd=1; } } if(!fnd) ans+=1; } { int cnt=0; rng(ad,-n,n+1){ if(i+ad<n and i+ad>=0 and j+ad>=0 and j+ad<n and a[i+ad][j+ad]=='A') cnt+=1; } if(cnt==n) ans+=1; } { int cnt=0; rng(ad,-n,n+1){ if(i-ad>=0 and i-ad<n and j+ad>=0 and j+ad<n and a[i-ad][j+ad]=='A') cnt+=1; } if(cnt==n) ans+=1; } a[i][j]='.'; } } } cout<<ans<<"\n"; } signed main(){ _4ab8goq; slv(); }