Submission #620705

#TimeUsernameProblemLanguageResultExecution timeMemory
6207053omar_ahmedZamjena (COCI18_zamjena)C++17
56 / 70
1051 ms35936 KiB
#pragma GCC optimize("Ofast") #include <bits/stdc++.h> #include <ext/pb_ds/assoc_container.hpp> #include <ext/pb_ds/tree_policy.hpp> using namespace std ; using namespace __gnu_pbds; #define endl '\n' #define ordered_set tree<pair < int ,int >,null_type,less<pair < int ,int >>,rb_tree_tag,tree_order_statistics_node_update> #define all(a) a.begin() , a.end() #define alr(a) a.rbegin() , a.rend() bool check(string x){ return(x[0] >= '0' && x[0] <= '9'); } signed main(){ ios_base::sync_with_stdio(0), cin.tie(0),cout.tie(0); int n ; cin >> n ; vector < string > a(n) , b(n); map < string , vector < int > > ind1 , ind2 ; for( auto &i : a ) cin >> i; for( auto &i : b ) cin >> i; for( int i = 0 ; i < n ; i++ ){ if(!check(a[i])) ind1[a[i]].push_back(i); if(!check(b[i])) ind2[b[i]].push_back(i); } for( int i = 0 ; i < n ; i++ ){ bool f1 = check(a[i]) , f2 = check(b[i]); // cout << f1 << ' ' << f2 << endl ; if( f1 && f2 ){ if(a[i] != b[i]) return cout << "NE" , 0; } else{ vector < int > tmpind1 = ind1[(f1 ? b[i] : a[i] )]; vector < int > tmpind2 = ind2[(f1 ? b[i] : a[i] )]; ind1[(f1 ? b[i] : a[i] )].clear(); ind2[(f1 ? b[i] : a[i] )].clear(); for(int idx = 0 ; idx < tmpind1.size() ; idx++){ a[tmpind1[idx]] = (f1 ? a[i] : b[i]); ind1[(f1 ? a[i] : b[i])].push_back(tmpind1[idx]); } for(int idx = 0 ; idx < tmpind2.size() ; idx++){ b[tmpind2[idx]] = (f1 ? a[i] : b[i]); ind2[(f1 ? a[i] : b[i])].push_back(tmpind2[idx]); } if(check(a[i]) && check(b[i])){ if(a[i] != b[i]) return cout << "NE" , 0; } } } // for(auto i :a)cout << i << ' '; cout <<endl; // for(auto i :b)cout << i << ' '; cout <<endl; cout << (a == b? "DA" : "NE"); return 0 ; }

Compilation message (stderr)

zamjena.cpp: In function 'int main()':
zamjena.cpp:42:35: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   42 |             for(int idx = 0 ; idx < tmpind1.size() ; idx++){
      |                               ~~~~^~~~~~~~~~~~~~~~
zamjena.cpp:46:35: warning: comparison of integer expressions of different signedness: 'int' and 'std::vector<int>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
   46 |             for(int idx = 0 ; idx < tmpind2.size() ; idx++){
      |                               ~~~~^~~~~~~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...