oj_13_计算机

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/qq_38262266/article/details/86598768

#include<bits/stdc++.h>
using namespace std;
/*
瑞年:
非整百年:%4==0是瑞年
整百年:%400==0是瑞年
*/

int main()
{
    int a[13];
    a[1]=31;
    a[2]=28;
    a[3]=31;
    a[4]=30;
    a[5]=31;
    a[6]=30;
    a[7]=31;
    a[8]=31;
    a[9]=30;
    a[10]=31;
    a[11]=30;
    a[12]=31;
    int b[13];
    b[1]=31;
    b[2]=29;
    b[3]=31;
    b[4]=30;
    b[5]=31;
    b[6]=30;
    b[7]=31;
    b[8]=31;
    b[9]=30;
    b[10]=31;
    b[11]=30;
    b[12]=31;
    int T;
    cin>>T;
    while(T--)
    {
        string year="";
        string month="";
        string day="";
        string s;
        cin>>s;
        int is=0;
        for(int i=0; i<s.length(); i++)
        {
            if(s[i]==':')
            {
                is++;
                continue;
            }
            if(is==0)
            {
                year+=s[i];
            }
            if(is==1)
            {
                month+=s[i];
            }
            if(is==2)
            {
                day+=s[i];
            }
        }

        int y=0,m=0,d=0;
        for(int i=day.length()-1; i>=0; i--)
        {
            int num=1;
            int k=i;
            while(k--)
            {
                num*=10;
            }
            d+=(day[day.length()-1-i]-'0')*num;
        }
        for(int i=year.length()-1; i>=0; i--)
        {
            int num=1;
            int k=i;
            while(k--)
            {
                num*=10;
            }
            y+=(year[year.length()-1-i]-'0')*num;
        }
        for(int i=month.length()-1; i>=0; i--)
        {
            int num=1;
            int k=i;
            while(k--)
            {
                num*=10;
            }
            m+=(month[month.length()-1-i]-'0')*num;
        }

        int days = 0;
        if((y%400==0)||(y%400!=0&&y%4==0))
        {
            days+=d;
            for(int i=m-1; i>=1; i--)
            {
                days+=b[i];
            }
        }
        else
        {
            days+=d;
            for(int i=m-1; i>=1; i--)
            {
                days+=a[i];
            }
        }
        cout<<days<<endl;
    }
    return 0;
}

 

 

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int T;
    cin>>T;
    while(T--)
    {
        int n;
        cin>>n;
        int a[n];//这个为孩子父亲存储的数组
        memset(a,0,sizeof(a));
        int b[n];//这个为每个结点的度数的个数
        memset(b,0,sizeof(b));
        for(int i=1; i<n; i++)
        {
            int x,y;
            cin>>x>>y;
            a[y] = x;
            b[y]++;//儿子有父亲,度数加一
            b[x]++;//父亲多了个儿子,度数加一
        }

        int num=0;
        int is = 1;
        //i为当前结点
        for(int i=0; i<n; i++)
        {
            //a[0]==0的特殊处理
            if(i==0&&a[i]==0)
            {
                for(int k=0; k<n; k++)
                {
                    if(a[k]==0&&b[k]>b[0])
                    {
                        is=0;
                        break;
                    }
                }
                if(is==1)
                {
                    num++;
                    continue;
                }
            }
            //如果当前结点的度数不小于父亲节点的度数
            if(b[i]<b[a[i]])
            {
                continue;
            }
            else
            {
                //如果当前结点的度数不小于所有孩子结点的度数
                for(int k=0; k<n; k++)
                {
                    if(a[k]==i)
                    {
                        if(b[k]>b[i])
                        {
                            is = 0;
                            break;
                        }
                    }
                }
                if(is==1)
                {
                    num++;
                }
            }
            is = 1;
        }
        cout<<num<<endl;
    }
    return 0;
}

 

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int T;
    cin>>T;
    while(T--)
    {
        int n;
        cin>>n;
        int num=0;
        int is = 0;
        for(int i=0; i<n; i++)
        {
            int key;
            cin>>key;
            if(i==0)
            {
                num = key;
            }
            else
            {
                if(num>=key&&is==0)
                {
                    num = key;
                    cout<<"No"<<endl;
                    //break;
                    is = 1;
                }
                num = key;
            }
        }
        if(is==0)
        {
            cout<<"Yes"<<endl;
            is = 0;
            num = 0;
        }
    }
    return 0;
}

 

 

#include<bits/stdc++.h>
using namespace std;
int main()
{
    int T;
    cin>>T;
    while(T--)
    {
        string s;
        cin>>s;
        int n;
        cin>>n;
        while(n--)
        {
            string op;
            cin>>op;
            if(op=="INSERT"){
                string k;
                cin>>k;
                s+=k;
            }
            if(op=="QUERY"){
                int index;
                cin>>index;
                int first=100001;
                int last=100001;
                for(int i=index+1;i<s.length();i++)
                {
                    if(s[i]==s[index]){
                        last = i;
                        break;
                    }
                }
                for(int i=index-1;i>=0;i--){
                    if(s[i]==s[index]){
                        first = i;
                        break;
                    }
                }
                if(first==last){
                    cout<<"-1"<<endl;
                }
                if(first==100001&&last!=100001){
                    cout<<last-index<<endl;
                }
                if(last==100001&&first!=100001){
                    cout<<index-first<<endl;
                }
                if(last!=100001&&first!=100001){
                    if(index-first>last-index){
                        cout<<last-index<<endl;
                    }else{
                        cout<<index-first<<endl;
                    }
                }

            }
        }
    }
    return 0;
}

猜你喜欢

转载自blog.csdn.net/qq_38262266/article/details/86598768