제출 #40707

#제출 시각아이디문제언어결과실행 시간메모리
40707HassoonySavez (COCI15_savez)C++14
84 / 120
1082 ms48252 KiB
#include <stdio.h>
#include <stdlib.h>
#include<bits/stdc++.h>
using namespace std;
typedef long long ll;
typedef double D;
const ll inf=(1ll<<61);
const ll mod=1e9+7;
const int MX=2e6+9;
int n,ans;
char oo[MX];
vector<string>s;
string v,tmp="";
unordered_map<string,int>tk;
unordered_map<string,bool>good1,good2;
int main(){
    scanf("%d",&n);
    for(int i=0;i<n;i++){
        scanf("%s",&oo);
        v=oo;
        s.push_back(v);
    }
    for(int i=n-1;i>=0;i--){
        ans=max(ans,tk[s[i]]);
        tmp="";
        for(auto pp:s[i]){
            tmp+=pp;
            good1[tmp]=1;
        }
        tmp="";
        for(int j=s[i].size()-1;j>=0;j--){
            tmp+=s[i][j];
            good2[tmp]=1;
        }
        for(auto pp:good1){
            if(good2[pp.first]){
                if(pp.first==s[i])continue;
                tk[pp.first]=max(tk[pp.first],tk[s[i]]+1);
            }
        }
        tk[s[i]]++;
        //cout<<endl;
        good1.clear();
        good2.clear();
    }
    cout<<ans+1<<endl;
}

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

savez.cpp: In function 'int main()':
savez.cpp:19:23: warning: format '%s' expects argument of type 'char*', but argument 2 has type 'char (*)[2000009]' [-Wformat=]
         scanf("%s",&oo);
                       ^
savez.cpp:17:19: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
     scanf("%d",&n);
                   ^
savez.cpp:19:24: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
         scanf("%s",&oo);
                        ^
#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...
#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...