版权声明:本文为博主原创文章,未经博主允许不得转载。 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;
}