当前位置:Gxlcms > 数据库问题 > Astronomical Database

Astronomical Database

时间:2021-07-01 10:21:17 帮助过:6人阅读

   注意一开始就有sun,还有样例的.其实是空格,英语渣了。。。

代码:

#include <iostream>
#include <cstdio>
#include <cstdlib>
#include <cmath>
#include <algorithm>
#include <climits>
#include <cstring>
#include <string>
#include <set>
#include <map>
#include <queue>
#include <stack>
#include <vector>
#include <list>
#define rep(i,m,n) for(i=m;i<=n;i++)
#define rsp(it,s) for(set<int>::iterator it=s.begin();it!=s.end();it++)
#define mod 1000000007
#define inf 0x3f3f3f3f
#define vi vector<int>
#define pb push_back
#define mp make_pair
#define fi first
#define se second
#define ll long long
#define pi acos(-1.0)
#define pii pair<int,int>
#define Lson L, mid, rt<<1
#define Rson mid+1, R, rt<<1|1
const int maxn=1e6+10;
using namespace std;
ll gcd(ll p,ll q){return q==0?p:gcd(q,p%q);}
ll qpow(ll p,ll q){ll f=1;while(q){if(q&1)f=f*p;p=p*p;q>>=1;}return f;}
int n,m,k,t,id,cnt;
struct node
{
    int to[36],num;
    char c[30];
}a[maxn];
char b[maxn];
void add(char*p)
{
    int now=0;
    for(int i=0;p[i];i++)
    {
        int x=(p[i]>=a&&p[i]<=z)?p[i]-a+10:p[i]-0;
        if(!a[now].to[x])a[now].to[x]=++id;
        now=a[now].to[x];
    }
    strcpy(a[now].c,p);
    a[now].num=1;
}
void dfs(int now)
{
    if(cnt>20)return;
    if(a[now].num)
    {
        if(cnt<=20)printf("  %s\n",a[now].c),cnt++;
        else return;
    }
    for(int i=0;i<=35;i++)
    {
        if(a[now].to[i])dfs(a[now].to[i]);
    }
}
void gao(char*p)
{
    printf("%s\n",p);
    int now=0,i;
    for(i=0;p[i];i++)
    {
        int x=(p[i]>=a&&p[i]<=z)?p[i]-a+10:p[i]-0;
        if(a[now].to[x])now=a[now].to[x];
        else break;
    }
    if(!p[i])dfs(now);
}
int main()
{
    int i,j;
    add("sun");
    while(~scanf("%s",b))
    {
        if(b[0]==+)
        {
            strcpy(b,b+1);
            add(b);
        }
        else
        {
            cnt=1;
            strcpy(b,b+1);
            gao(b);
        }
    }
    //system("Pause");
    return 0;
}

Astronomical Database

标签:

人气教程排行