第一场 hdu 6034 Balala Power!
2017-07-31 12:14
477 查看
1 #include <iostream> 2 #include <cstdio> 3 #include <cstring> 4 #include <algorithm> 5 #include <cmath> 6 using namespace std; 7 const int eps=1e9+7; 8 long long a[100005][30],flag[100005]; 9 char s[100005]; 10 long long ans[30]; 11 int step,num[30],cnt[30]; 12 int cmp(int A,int B) 13 { 14 for(int i=step;i>=0;i--) 15 { 16 if(a[i][A]!=a[i][B]) 17 return a[i][A]<a[i][B]; 18 } 19 return A<B; 20 } 21 int main() 22 { 23 flag[0]=1; 24 for(int i=1;i<100003;i++) 25 flag[i]=(long long)(flag[i-1]*26)%eps; 26 int n,cas=0; 27 //freopen("1002.in","r",stdin); 28 //freopen("1002.out","w",stdout); 29 while(~scanf("%d",&n)) 30 { 31 cas++; 32 memset(ans,0,sizeof(ans)); 33 memset(cnt,0,sizeof(cnt)); 34 memset(a,0,sizeof(a)); 35 step=0; 36 for(int i=0;i<n;i++) 37 { 38 scanf("%s",s); 39 int len=strlen(s); 40 if(len>1) 41 cnt[s[0]-'a']=1; 42 reverse(s,s+len); 43 for(int j=0;j<len;j++) 44 { 45 a[j][s[j]-'a']++; 46 } 47 step=max(step,len); 48 } 49 for(int i=0;i<26;i++) 50 { 51 for(int j=0;j<step;j++) 52 { 53 a[j+1][i]+=a[j][i]/26; 54 a[j][i]=a[j][i]%26; 55 } 56 while(a[step][i]) 57 { 58 a[step+1][i]+=a[step][i]/26; 59 a[step][i]=a[step][i]%26; 60 step++; 61 } 62 num[i]=i; 63 } 64 sort(num,num+26,cmp); 65 int zero=-1; 66 for(int i=0;i<26;i++) 67 { 68 if(!cnt[num[i]]) 69 { 70 zero=num[i]; 71 break; 72 } 73 } 74 int k=25; 75 for(int i=25;i>=0;i--) 76 { 77 if(zero!=num[i]) 78 { 79 ans[num[i]]=k; 80 k--; 81 } 82 } 83 long long key=0; 84 for(int i=0;i<step;i++) 85 { 86 for(int j=0;j<26;j++) 87 { 88 key=(key+(ans[j]*flag[i]*a[i][j]))%eps; 89 } 90 } 91 printf("Case #%d: %lld\n",cas,key); 92 } 93 return 0; 94 }
View Code
相关文章推荐
- HDU 6034-(2017多校第一场 Balala Power!)(贪心)
- 2017多校第一场 HDU 6034 Balala Power! 贪心,细节题
- (2017多校训练第一场)HDU - 6034 Balala Power! 贪心
- 2017 多校训练第一场 HDU 6034 Balala Power!
- hdu 6034 Balala Power!(贪心)( 2017 Multi-University Training Contest - Team 1 )(无耻之sort)
- 2017 Multi-University Training Contest - Team 1 1002&&HDU 6034 Balala Power!【字符串,贪心+排序】
- hdu 6034 Balala Power!
- hdu 6034 Balala Power! (2017 Multi-University Training Contest - Team 1)
- HDU 6034 Balala Power!
- Balala Power! HDU - 6034 贪心
- HDU 6034 Balala Power!
- hdu 6034 Balala Power!(贪心)( 2017 Multi-University Training Contest - Team 1 )(无耻之sort)
- hdu 6034 Balala Power!
- hdu 6034 Balala Power!(贪心)( 2017 Multi-University Training Contest - Team 1 )(无耻之sort)
- HDU 6034 Balala Power! 2017多校1.2
- HDU 6034 Balala Power! 【模拟】【大数高精度】
- HDU 6034 Balala Power!(大数进制)
- HDU-6034 Balala Power! - 2017 Multi-University Training Contest - Team 1(贪心)
- hdu 6034 Balala Power!(贪心)( 2017 Multi-University Training Contest - Team 1 )(无耻之sort)
- HDU 6034 17多校1 Balala Power!(思维 排序)