题解

185 条题解

  • -1
    @ 2017-01-09 09:45:06

    暴力
    ```c++
    #include<stdio.h>
    #include<string.h>
    char a[110];
    int much[30];
    int main()
    {
    int maxx=0,minn=100,len;
    scanf("%s",&a);
    len=strlen(a);
    for(int i=0;i<len;i++)
    {
    if(a[i]=='a') much[0]++;
    if(a[i]=='b') much[1]++;
    if(a[i]=='c') much[2]++;
    if(a[i]=='d') much[3]++;
    if(a[i]=='e') much[4]++;
    if(a[i]=='f') much[5]++;
    if(a[i]=='g') much[6]++;
    if(a[i]=='h') much[7]++;
    if(a[i]=='i') much[8]++;
    if(a[i]=='j') much[9]++;
    if(a[i]=='k') much[10]++;
    if(a[i]=='l') much[11]++;
    if(a[i]=='m') much[12]++;
    if(a[i]=='n') much[13]++;
    if(a[i]=='o') much[14]++;
    if(a[i]=='p') much[15]++;
    if(a[i]=='q') much[16]++;
    if(a[i]=='r') much[17]++;
    if(a[i]=='s') much[18]++;
    if(a[i]=='t') much[19]++;
    if(a[i]=='u') much[20]++;
    if(a[i]=='v') much[21]++;
    if(a[i]=='w') much[22]++;
    if(a[i]=='x') much[23]++;
    if(a[i]=='y') much[24]++;
    if(a[i]=='z') much[25]++;
    }
    for(int i=0;i<26;i++)
    {
    if(much[i]!=0&&much[i]<minn)
    {
    minn=much[i];
    }
    if(much[i]>maxx)
    {
    maxx=much[i];
    }
    }
    int prime=maxx-minn;
    if(prime==0||prime==1)
    {
    printf("No Answer\n0");
    }
    else
    {
    for(int i=2;i<=prime;i++)
    {

    if(i==prime)
    {

    printf("Lucky Word\n%d",prime);
    break;
    }
    if(prime%i==0)
    {
    printf("No Answer\n0");
    break;
    }
    }
    }
    return 0;
    }
    ```

  • -1
    @ 2016-11-08 00:14:42

    由于太懒。。于是priority_queue。。(反正不会TLE23333333)
    #include <iostream>
    #include <algorithm>
    #include <cstdio>
    #include <cstring>
    #include <cstdlib>
    #include <cmath>
    #include <map>
    #include <vector>
    #include <stack>
    #include <queue>

    using namespace std;

    #define main int main(int argc,char *argv[])
    #define PI 2*asin(1)

    char s[200];
    int a[300];

    int c(int a){
    for(int i=2;i*i<=a;i++){
    if(a%i==0)return 0;
    }
    return a>1;
    }

    priority_queue<int>m,n;

    main{
    scanf("%s",s);
    for(int i=0;s[i];i++)a[s[i]]++;
    for(int i=0;i<300;i++)if(a[i]!=0)m.push(a[i]),n.push(-a[i]);
    int t=m.top()+n.top();
    if(c(t))printf("Lucky Word\n%d\n",t);
    else printf("No Answer\n0\n");
    }

  • -1
    @ 2016-11-05 09:30:29
    #include<algorithm>
    #include<cstdio>
    #include<cstring>
    #define f(x,y) for(register int x = 1; x <= y; x ++)
    using namespace std;
    int a[27];
    bool shai[101];
    int main() {
        char c[101];
        shai[0] = 1;
        shai[1] = 1;
        for(int  i = 2 ; i <= 100 ; i ++) if ( ! shai[i] ) for(int j = i * 2 ; j <= 100 ; j += i) shai[j] = 1;
        scanf("%s",c + 1);
        int len = strlen(c + 1);
        f(i,len) a[c[i] - 'a' + 1] ++ ;
        int maxn = 0, mini = 1e9 + 7;
        f(i,26) if (a[i]) maxn = max(maxn , a[i]),mini = min(mini ,a[i]);
        if(shai[maxn - mini]) printf("No Answer\n0");
        else printf("Lucky Word\n%d",maxn - mini);
        return 0;
    }
    
  • -1
    @ 2016-11-04 20:37:41

    #include<cstdio>
    #include<iostream>
    #include<cstring>
    #include<cmath>

    #define Coding using namespace std
    #define For for(i=0;i<=Length+1;i++)
    #define Ha for(i=1;i<=149;i++)
    #define Explode return
    #define AddOneSecond if
    #define ReduceOneSecond else
    #define Read scanf
    #define Write printf

    char String[105];
    int i,Length,Numbers[150],Maxn=0,Minn=100;
    bool PriNum(int);
    Coding;

    int main()
    {
    scanf("%s",String);
    Length=strlen(String);
    For
    {
    AddOneSecond (String[i])
    {
    Numbers[int(String[i])]++;
    }
    }
    Ha
    {
    AddOneSecond(Numbers[i]>Maxn)
    {
    Maxn=Numbers[i];
    }
    AddOneSecond(Numbers[i]!=0&&Numbers[i]<=Minn){
    Minn=Numbers[i];
    }
    }
    AddOneSecond(PriNum(Maxn-Minn)==true)
    {

    Write("Lucky Word\n");
    Write("%d",Maxn-Minn);
    }
    ReduceOneSecond Write("No Answer\n0");
    Explode 0;
    }

    bool PriNum(int GLGJSSYQYHFBQZ)
    {
    AddOneSecond (GLGJSSYQYHFBQZ==1||GLGJSSYQYHFBQZ==0){
    Explode false;
    }
    ReduceOneSecond Explode true;
    for (i=2;i<=sqrt(GLGJSSYQYHFBQZ);i++){
    if (GLGJSSYQYHFBQZ%i==0){
    Explode false;
    break;
    }
    }
    }

  • -1
    @ 2016-03-27 15:20:56

    旁边有解释,希望大家一遍过

    var
    s:string;
    f:array['a'..'z']of longint;
    i,max,min,m,n:longint;
    ch:char;
    flag:boolean;
    begin
    readln(s);
    max:=0;min:=100;m:=length(s); //变量m获取字符串的长度;
    for i:=1 to m do inc(f[s[i]]); //统计不同字符的个数;
    for ch:='a' to 'z' do begin //获取最大个数和最小个数;
    if f[ch]>max then max:=f[ch]; //求出现最大的字母次数
    if (f[ch]>0)and(f[ch]<min) then min:=f[ch];// 求出现最少的字母次数
    end;
    n:=max-min;
    flag:=true;
    for i:=2 to trunc(sqrt(n)) do //判断最大值与最小值的差值是否为素数;
    if n mod i=0 then begin
    flag:=false;
    break;
    end;
    if n<2 then flag:=false;
    if flag then begin
    writeln('lucky Word');
    writeln(n);
    end
    else begin
    writeln('no answer');
    writeln('0');
    end;
    end.

信息

ID
1495
难度
5
分类
模拟 点击显示
标签
递交数
9620
已通过
3488
通过率
36%
被复制
17
上传者