제출 #116871

#제출 시각아이디문제언어결과실행 시간메모리
116871MrUnknownLozinke (COCI17_lozinke)C++11
10 / 100
15 ms1792 KiB
//#include<stdio.h> #include<bits/stdc++.h> using namespace std; #define ll long long //#define f_(i,a,b) for (int i=a;i>=b;i--) //#define f(i,a,b) for (int i=a;i<=b;i++) int n; string s[20005]; long long dem=0; map<string,bool> mb; map<string,ll> m; bool cmp(string x,string y) { return (x.size()<=y.size()) ; } int main() { // freopen("","r",stdin); // freopen("","w",stdout); scanf("%d", &n); for (int i=1;i<=n;i++) { cin>>s[i]; } sort(s+1,s+1+n,cmp); for (int i=1;i<=n;i++) { mb.clear(); for (int j=0;j<s[i].size();j++) { string si; for (int l=j;l<s[i].size();l++) { si=si+s[i][l]; if (!mb[si]) { mb[si]=true; dem+=m[si]; } } } dem+=m[s[i]]; m[s[i]]++; } printf("%lld", dem); return 0; }

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

lozinke.cpp: In function 'int main()':
lozinke.cpp:26:17: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
   for (int j=0;j<s[i].size();j++) {
                ~^~~~~~~~~~~~
lozinke.cpp:28:18: warning: comparison between signed and unsigned integer expressions [-Wsign-compare]
    for (int l=j;l<s[i].size();l++) {
                 ~^~~~~~~~~~~~
lozinke.cpp:19:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d", &n);
  ~~~~~^~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...