首页 > 其他 > 详细

洛谷P1013 进制位 数论

时间:2017-05-05 15:05:31      阅读:286      评论:0      收藏:0      [点我收藏+]

洛谷P1013 进制位 数论

首先我们可以发现一个有趣的性质,就是1一定要有,因为有进位就一定会有一嘛,
额,其实我也不会证,题解上说一定是连续的几个数,且一定会包含一
根据这个条件,我们可以发现如果只算那些只由一个字母构成的,我们可以发现,一个字母如果
出现n次,那么其表示的数就是 n-1
那么如何判断不可行呢,如果有一个字母出现次数为 0 则表示其不可行

 

 

#include <cstdio>
#include <cmath>
#include <cstdlib>
#include <cstring>
#include <algorithm>
#include <string>
#include <iomanip>
#include <iostream>
using namespace std ;

int n,l ;
char s[10],s1[10] ;
char ss[10][10] ;
int a[200] ;


int main() 
{
    cin>>n;
    cin>>s ;
    for(int i=2;i<=n;i++) cin>>ss[ i ] ;
    for(int i=2;i<=n;i++) 
    {
        cin>>s; 
        for(int j=2;j<=n;j++) 
        {
            cin>>s ;
            l = strlen(s) ;
            if(l>1) continue ;
            a[ s[0] ]++ ;      
        } 
    }
    for(int i=2;i<=n;i++) 
        if(a[ ss[i][0] ]-1==-1) 
        {
            printf("ERROR!\n") ; 
            return 0 ;
        }
    for(int i=2;i<=n;i++) 
        printf("%s",ss[i]),printf("=%d ",a[ ss[i][0] ]-1) ;
        
    printf("\n%d\n",n-1) ;
     
    return 0 ; 
}

 

洛谷P1013 进制位 数论

原文:http://www.cnblogs.com/third2333/p/6813053.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!