답안 #759007

# 제출 시각 아이디 문제 언어 결과 실행 시간 메모리
759007 2023-06-15T16:39:41 Z kirakosyan Dijamant (COCI22_dijamant) C++17
컴파일 오류
0 ms 0 KB
    #include <iostream>
    #include <vector>
    #include <algorithm>
    #include <set>
    #include <cmath>
    #include <map>
    #include <string>
    #include <ios>
    #include <iomanip>
    #include <deque>
    #include <queue>
    #include <list> 
    #include <stack>
     
    #define FASTIO ios_base::sync_with_stdio(0); cin.tie(NULL);
    using ll = long long;
    using namespace std;
    void solve(){
    	int n,m; cin >> n >> m;

    	vector<string>v(n);
        vector<vector<int>>a(n,vector<int>(m));
        vector<vector<int>>b(n,vector<int>(m));
        vector<vector<int>>c(n,vector<int>(m));
        vector<vector<int>>d(n,vector<int>(m));
        vector<vector<int>>pref(n,vector<int>(m));
    	for(int i=0;i<n;i++){
            cin >> v[i];
        }
        for(int i=0;i<n;i++){
            if(v[i][0]=='#'){
                pref[i][0]=1;
            }
            for(int j=1;j<m;j++){
               if(v[i][j]=='#'){
                pref[i][j]=pref[i][j-1]+1;
               } 
                else pref[i][j]=pref[i][j-1];
            }
        }
    //     7 10
    // .....#...
    // ....#.#..
    // ...#...#.
    // ..#.....#
    // ...#...#.
    // ....#.#..
    // .....#...
        for(int i=0;i<n;i++){
            for(int j=0;j<m;j++){
                if(j!=0&&i!=n-1&&j!=m-1){
                    if(v[i+1][j-1]=='#'&&v[i+1][j+1]=='#'&&v[i+1][j]=='.'&&v[i][j]=='#'){
                        a[i+1][j-1]=1;
                        b[i+1][j+1]=1;
                    }
                }
                if(j!=0&&i!=0&&j!=m-1){
                   if(v[i-1][j-1]=='#'&&v[i-1][j+1]=='#'&&v[i-1][j]=='.'&&v[i][j]=='#'){
                        c[i-1][j-1]=1;
                        d[i-1][j+1]=1;
                    } 
                }
            }
        }
        for (int i=0;i<n;i++){
            int arajin=-1,erkrord=-1,cnt=0;
            for(int j=0;j<m;j++){
               if(v[i][j]=='#'&&cnt==0) {
                   cnt++;
                   arajin=j;
               }
                else if(v[i][j]=='#'&&cnt==1) {
                   if(i>=1&&a[i-1][arajin+1]==1&&b[i-1][j-1]==1&&(pref[i-1][j-1]-pref[i-1][arajin])==0){
                       a[i][arajin]=1;
                       b[i][j]=1;
                   }
                   arajin=j;
               }
            }
        }
        for (int i=n-1;i>=0;i--){
            int arajin=-1,erkrord=-1,cnt=0;
            for(int j=0;j<m;j++){
               if(v[i][j]=='#'&&cnt==0) {
                   cnt++;
                   arajin=j;
               }
                else if(v[i][j]=='#'&&cnt==1) {
                    if(i<=n-2&&c[i+1][arajin+1]==1&&d[i+1][j-1]==1&&(pref[i+1][j-1]-pref[i+1][arajin])){
                       c[i][arajin]=1;
                        d[i][j]=1;
                    }
                   arajin=j;
               }
        }
      
        int ans=0;
        for(int i=0;i<n;i++){
            int cnt=0;
                int arajin=-1,erkrord=-1;
            for(int j=0;j<m;j++){
               if(v[i][j]=='#'&&cnt==0) {
                   cnt++;
                   arajin=j;
               }
                else if(v[i][j]=='#'&&cnt==1) {
                    if(a[i][arajin]==1&&c[i][arajin]==1&&b[i][j]==1&&d[i][j]==1){
                        ans++;
                    }
                   arajin=j;
               }
            }
        }
        cout<<ans<<endl;
    }
    signed main() {
            FASTIO
            ll t=1;
            //cin >> t;
            while (t--) {
                solve();
            }
    }

Compilation message

Main.cpp: In function 'void solve()':
Main.cpp:66:27: warning: unused variable 'erkrord' [-Wunused-variable]
   66 |             int arajin=-1,erkrord=-1,cnt=0;
      |                           ^~~~~~~
Main.cpp:100:31: warning: unused variable 'erkrord' [-Wunused-variable]
  100 |                 int arajin=-1,erkrord=-1;
      |                               ^~~~~~~
Main.cpp:82:27: warning: unused variable 'erkrord' [-Wunused-variable]
   82 |             int arajin=-1,erkrord=-1,cnt=0;
      |                           ^~~~~~~
Main.cpp:116:19: error: a function-definition is not allowed here before '{' token
  116 |     signed main() {
      |                   ^
Main.cpp:123:5: error: expected '}' at end of input
  123 |     }
      |     ^
Main.cpp:18:17: note: to match this '{'
   18 |     void solve(){
      |                 ^