Submission #951862

#TimeUsernameProblemLanguageResultExecution timeMemory
951862Saul0906PIN (CEOI10_pin)C++14
30 / 100
345 ms26596 KiB
#include <bits/stdc++.h> #define rep(a,b,c) for(int a=b; a<c; a++) #define repa(a,b) for(auto a:b) #define fi first #define se second #define pii pair<int, int> #define ll long long #define endl "\n" using namespace std; struct trie{ trie *nxt[36]; int cont=0; } *TR = new trie; void add(string s){ trie *act=TR; int x; rep(i,0,s.size()){ if(s[i]>'9' || s[i]<'0') x=s[i]-'a'+10; else x=s[i]-'0'; if(!(act->nxt[x])) act->nxt[x]=new trie; act=act->nxt[x]; act->cont++; } } int find(string s){ trie *act=TR; int x; rep(i,0,s.size()){ if(s[i]>'9' || s[i]<'0') x=s[i]-'a'+10; else x=s[i]-'0'; if(!(act->nxt[x])) return 0; act=act->nxt[x]; } return act->cont; } int main(){ ios_base::sync_with_stdio(false); cin.tie(0); cout.tie(0); int n, d, ans=0; cin>>n>>d; string s[n], t; rep(i,0,n){ cin>>s[i]; t=s[i]; rep(k,0,4){ rep(j,0,10) if(j+'0'!=s[i][k]) t[k]=j+'0', ans+=find(t); rep(j,0,26) if(j+'a'!=s[i][k]) t[k]=j+'a', ans+=find(t); t[k]=s[i][k]; } add(t); } cout<<ans<<endl; }

Compilation message (stderr)

pin.cpp: In function 'void add(std::string)':
pin.cpp:2:34: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
    2 | #define rep(a,b,c) for(int a=b; a<c; a++)
......
   20 |  rep(i,0,s.size()){
      |      ~~~~~~~~~~~~                 
pin.cpp:20:2: note: in expansion of macro 'rep'
   20 |  rep(i,0,s.size()){
      |  ^~~
pin.cpp: In function 'int find(std::string)':
pin.cpp:2:34: warning: comparison of integer expressions of different signedness: 'int' and 'std::__cxx11::basic_string<char>::size_type' {aka 'long unsigned int'} [-Wsign-compare]
    2 | #define rep(a,b,c) for(int a=b; a<c; a++)
......
   32 |  rep(i,0,s.size()){
      |      ~~~~~~~~~~~~                 
pin.cpp:32:2: note: in expansion of macro 'rep'
   32 |  rep(i,0,s.size()){
      |  ^~~
#Verdict Execution timeMemoryGrader output
Fetching results...