Submission #801414

#TimeUsernameProblemLanguageResultExecution timeMemory
801414mindiyakBitaro the Brave (JOI19_ho_t1)C++17
20 / 100
7 ms2772 KiB
#pragma GCC optimize("O3") #pragma GCC target("sse4") #include <bits/stdc++.h> using namespace std; typedef long long ll; typedef long double ld; typedef pair<int, int> pi; typedef pair<ll, ll> pl; typedef pair<ld, ld> pd; typedef vector<int> vi; typedef vector<char> vc; typedef vector<bool> vb; typedef vector<vector<int>> vvi; typedef vector<vc> vvc; typedef vector<ld> vd; typedef vector<ll> vl; typedef vector<pi> vpi; typedef vector<pl> vpl; #define FOR(i, a, b) for (ll i = a; i < (b); i++) #define F0R(i, a) for (ll i = 0; i < (a); i++) #define FORd(i, a, b) for (ll i = (b)-1; i >= a; i--) #define F0Rd(i, a) for (ll i = (a)-1; i >= 0; i--) #define trav(a, x) for (auto &a : x) #define uid(a, b) uniform_int_distribution<int>(a, b)(rng) #define len(x) (int)(x).size() #define mp make_pair #define pb push_back #define fst first #define nl endl #define sec second #define lb lower_bound #define ub upper_bound #define all(x) x.begin(), x.end() #define rall(x) x.rbegin(), x.rend() #define ins insert #define endl "\n" const int MOD = 1000000007; const int MX = INT_MAX; const int MN = INT_MIN; void init() { #ifndef ONLINE_JUDGE freopen("input.in", "r", stdin); freopen("output.out", "w", stdout); #endif } void fastIO() { ios_base::sync_with_stdio(0); cin.tie(0); } void solve() { int h,w;cin>>h>>w; vvc arr (h,vc(w)); vvi o_counter (h,vi(w+1,0)); vvi i_counter (h+1,vi(w,0)); FOR(i,0,h)FOR(j,0,w)cin>>arr[i][j]; FOR(i,0,h){ int sum=0; FOR(j,0,w){ if(arr[i][j]=='O')sum++; o_counter[i][j]=sum; }o_counter[i][w]=sum; } FOR(i,0,w){ int sum=0; FOR(j,0,h){ if(arr[j][i]=='I')sum++; i_counter[j][i]=sum; }i_counter[h][i]=sum; } // FOR(i,0,h){FOR(j,0,w){cout<<arr[i][j];}cout << endl;} // cout<<endl; // FOR(i,0,h){FOR(j,0,w+1){cout<<o_counter[i][j]<<" ";}cout << endl;} // cout<<endl; // FOR(i,0,h+1){FOR(j,0,w){cout<<i_counter[i][j]<<" ";}cout << endl;} // cout<<endl; int ans=0; FOR(i,0,h){ FOR(j,0,w){ if(arr[i][j]=='J'){ ans += (o_counter[i][w]-o_counter[i][j])* (i_counter[h][j]-i_counter[i][j]); } } } cout << ans << endl; } int main() { fastIO(); // init(); int t = 1; // cin >> t; while (t--) solve(); return 0; }

Compilation message (stderr)

joi2019_ho_t1.cpp: In function 'void init()':
joi2019_ho_t1.cpp:43:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   43 |     freopen("input.in", "r", stdin);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~
joi2019_ho_t1.cpp:44:12: warning: ignoring return value of 'FILE* freopen(const char*, const char*, FILE*)' declared with attribute 'warn_unused_result' [-Wunused-result]
   44 |     freopen("output.out", "w", stdout);
      |     ~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...