Submission #223285

#TimeUsernameProblemLanguageResultExecution timeMemory
223285jamielimTrener (COCI20_trener)C++14
0 / 110
7 ms2432 KiB
#include <bits/stdc++.h> using namespace std; typedef long long ll; const ll MOD=1000000007; string str[20][1505]; map<string,ll> dp; int main(){ int n,k; scanf("%d%d",&n,&k); char temp[55]; for(int i=0;i<n;i++){ for(int j=0;j<=n;j++)str[i][j]='\0'; for(int j=0;j<k;j++){ scanf("%s",temp); str[i][j]=temp; } sort(str[i],str[i]+k); } for(int i=0;i<k;i++){ dp[str[0][i]]++; } for(int i=1;i<n;i++){ for(int j=0;j<k;j++){ string a,b; for(int l=0;l<i;l++){ a+=str[i][j][l]; b+=str[i][j][l+1]; } dp[str[i][j]]+=dp[a]; if(a!=b)dp[str[i][j]]+=dp[b]; dp[str[i][j]]%=MOD; } } long long ans=0; for(int i=0;i<k;i++){ans+=dp[str[n-1][i]];ans%=MOD;} printf("%lld",ans); }

Compilation message (stderr)

trener.cpp: In function 'int main()':
trener.cpp:11:7: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
  scanf("%d%d",&n,&k);
  ~~~~~^~~~~~~~~~~~~~
trener.cpp:16:9: warning: ignoring return value of 'int scanf(const char*, ...)', declared with attribute warn_unused_result [-Wunused-result]
    scanf("%s",temp);
    ~~~~~^~~~~~~~~~~
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...
#Verdict Execution timeMemoryGrader output
Fetching results...