제출 #1246204

#제출 시각아이디문제언어결과실행 시간메모리
1246204KindaGoodGamesCubeword (CEOI19_cubeword)C++20
0 / 100
1018 ms1636 KiB
#pragma GCC optimize("O3, unroll-loops, Ofast") #include<bits/stdc++.h> using namespace std; #define pii pair<int,int> #define tiii tuple<int,int,int> int mod = 998244353; vector<vector<vector<int>>> cnt(8, vector<vector<int>>(26, vector<int>(26))); vector<int> cur; int res = 0; set<pii> edges; void gen(int n){ if(n == 0){ for(int l = 3; l <= 10; l++){ int cp = 1; for(auto e : edges){ cp *= cnt[l-3][cur[e.first]][cur[e.second]]; cp %= mod; if(cp == 0) break; } res += cp; res %= mod; } return; } for(int i = 0; i < 7; i++){ cur.push_back(i); gen(n-1); cur.pop_back(); } } int main(){ ios_base::sync_with_stdio(false); cin.tie(0); int n; cin >> n; vector<tiii> arr(n); set<string> occ; for(int i = 0; i < n; i++){ string s; cin >> s; string r = s; reverse(r.begin(),r.end()); arr[i] = {s.size(), s[0]-'a', s.back()-'a'}; if(occ.count(r) || occ.count(s)) continue; cnt[s.size()-3][s[0]-'a'][s.back()-'a']++; if(r != s){ cnt[s.size()-3][s[0]-'a'][s.back()-'a']++; } } auto start = clock(); for(int v = 0; v < 4; v++){ auto ins = [&](int a, int b){ if(a > b) swap(a,b); edges.insert({a,b}); }; ins(v, (v+1)%4); ins(v, (v+3)%4); ins(v, v+4); ins(4+v, 4+((v+1)%4)); ins(4+v, 4+((v+3)%4)); } gen(8); auto end = clock(); cout << res << endl; cerr << end-start << "ms elapsed" << endl; }

컴파일 시 표준 에러 (stderr) 메시지

cubeword.cpp:1:47: warning: bad option '-f unroll-loops' to pragma 'optimize' [-Wpragmas]
    1 | #pragma GCC optimize("O3, unroll-loops, Ofast")
      |                                               ^
cubeword.cpp:1:47: warning: bad option '-f Ofast' to pragma 'optimize' [-Wpragmas]
cubeword.cpp:14:15: warning: bad option '-f unroll-loops' to attribute 'optimize' [-Wattributes]
   14 | void gen(int n){
      |               ^
cubeword.cpp:14:15: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
cubeword.cpp:36:10: warning: bad option '-f unroll-loops' to attribute 'optimize' [-Wattributes]
   36 | int main(){
      |          ^
cubeword.cpp:36:10: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
cubeword.cpp: In function 'int main()':
cubeword.cpp:64:36: warning: bad option '-f unroll-loops' to attribute 'optimize' [-Wattributes]
   64 |         auto ins = [&](int a, int b){
      |                                    ^
cubeword.cpp:64:36: warning: bad option '-f Ofast' to attribute 'optimize' [-Wattributes]
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...