若合法,输出"Yes",否则输出"No"(不包含引号)。
我们认为010.105.240.051是合法的。
#include
#include
#include
#include
#include
using namespace std;
char s[110];
int main()
{
int t,i,k,l;
scanf("%d",&t);
while(t--)
{
scanf("%s",s);
l=strlen(s);
int flag=0,cnt=0,d=0,n;//cnt表示数的个数,d表示点的个数
for(i=0;i'9')
{
flag=1;
break;
}
else
{
n=0;k=0;
while(isdigit(s[i]))
n=n*10+(s[i++]-'0'),k++;
cnt++;
if(k>3||n>255)//如果某个数的位数大于3或者数的值大于255,则不符合题意
{
flag=1;
break;
}
}
}
if(cnt!=4||flag||d>3)//如果数的个数不为4,出现字母,或者点的个数大于3,则不符合要求
printf("No\n");
else
printf("Yes\n");
}
return 0;
}
#include
#include
#include
using namespace std;
int v[110][110];
int f[210][110][110];
int main()
{
int t,n,m,T,c;
int i,j,k;
scanf("%d",&T);
while(T--)
{
memset(v,0,sizeof(v));
memset(f,0,sizeof(f));
scanf("%d%d",&m,&n);
c=m+n-2;
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
scanf("%d",&v[i][j]);
for(k=1;km?m:k+2;
for(i=1;i<=t;i++)
for(j=i+1;j<=t;j++)
if(i!=j)
f[k][i][j]=max(max(f[k-1][i-1][j],f[k-1][i][j-1]),max(f[k-1][i][j],f[k-1][i-1][j-1]))+v[i][k-i+2]+v[j][k-j+2];
}
f[c][m][m]=max(f[c-1][m-1][m],f[c-1][m][m-1]);
f[c][m][m]+=v[1][1]+v[m][n];
printf("%d\n",f[c][m][m]);
}
return 0;
}
#include
#include
#include
#include
using namespace std;
int a[13]={0,31,28,31,30,31,30,31,31,30,31,30,31};
int b[13]={0,31,29,31,30,31,30,31,31,30,31,30,31};
int sum[1000010];
int init()
{
for(int i=1900;i<=1000000;i++)
{
if(i%4==0&&i%100!=0||i%400==0)
sum[i]=sum[i-1]+366;
else
sum[i]+=sum[i-1]+365;
}
}
int main()
{
init();
int t,y,m,d,y1,m1,d1,k,i;
scanf("%d",&t);
while(t--)
{
scanf("%d%d%d%d%d%d",&y,&m,&d,&y1,&m1,&d1);
int s=0;
for(i=0;i
蛤玮的妹子过生日,蛤玮把千辛万苦挑选出来的礼物送到了妹子面前,然而妹子非常生气,因为妹子要的是化妆套装,而蛤玮买了一套水彩铅笔,更可气的是这些铅笔像是二手的,因为他们不是一样长!
为了惩罚蛤玮,妹子说"我有强迫症,受不了这些铅笔不一样长,你快去搞定它!不然就买化妆套给我!".
还好,这些铅笔的长度都是整数,蛤玮灵机一动,可以把些铅笔掰断使得它们可以一样长,当然要保证铅笔尽可能的长。 那么当这些铅笔最终一样长的时候,一共有多少支铅笔?
每组数据输出一行,表示最终的铅笔个数.
对于第一个输入,最终掰成了5个长度为1的铅笔,第二个输入,最终掰成了12个长度为2的铅笔。
蛤玮的妹子过生日,蛤玮把千辛万苦挑选出来的礼物送到了妹子面前,然而妹子非常生气,因为妹子要的是化妆套装,而蛤玮买了一套水彩铅笔,更可气的是这些铅笔像是二手的,因为他们不是一样长!
为了惩罚蛤玮,妹子说"我有强迫症,受不了这些铅笔不一样长,你快去搞定它!不然就买化妆套给我!".
还好,这些铅笔的长度都是整数,蛤玮灵机一动,可以把些铅笔掰断使得它们可以一样长,当然要保证铅笔尽可能的长。 那么当这些铅笔最终一样长的时候,一共有多少支铅笔?
每组数据输出一行,表示最终的铅笔个数.
对于第一个输入,最终掰成了5个长度为1的铅笔,第二个输入,最终掰成了12个长度为2的铅笔。
#include
#include
#include
using namespace std;
int a[110];
int gcd(int a,int b)
{
return b?gcd(b,a%b):a;
}
int main()
{
int t,n,i;
scanf("%d",&t);
while(t--)
{
int sum=0;
scanf("%d",&n);
for(i=0;i
输入第一行为一个整数T(1<=T<=10),代表数据组数。对于每组数据,第一行为两个整数n(1<=n<=100),m(1<=m<=n*n),接下来m行每行两个整数u,v(1<=u,v<=n),表示主机u,v之间已建立线路。
对于每组数据,输出一个整数,表示还需建设的线路数。
#include
#include
#include
#include
using namespace std;
int a[110];
int find(int x)
{
return x==a[x]?x:a[x]=find(a[x]);
}
int judge(int x,int y)
{
int fx=find(x);
int fy=find(y);
if(fx!=fy)
a[fy]=fx;
}
int main()
{
int t,n,m;
int i,j,k,u,v;
scanf("%d",&t);
while(t--)
{
scanf("%d%d",&n,&m);
for(i=1;i<=n;i++)
a[i]=i;
for(i=1;i<=m;i++)
{
scanf("%d%d",&u,&v);
judge(u,v);
}
int cnt=0;
for(i=1;i<=n;i++)
if(a[i]==i)
cnt++;
printf("%d\n",cnt-1);
}
return 0;
}
每组数据输出一个整数,表示蛤玮操作的次数.
每组数据输出一个整数,表示蛤玮操作的次数.
#include
#include
#include
#include
#define PI acos(-1.0)
using namespace std;
int main()
{
int t;
double n,a,l;
double s,s1,a1,l1;
double x1,x2,x3,x4;
scanf("%d",&t);
while(t--)
{
scanf("%lf%lf%lf",&n,&a,&l);
x1=(PI/n)*2;
x2=(PI-x1)/2;
x3=2*x2;
x4=(PI-x3)/2;
l1=a*sin(x2)/sin(x1);
s=0.5*sin(x1)*l1*l1*n;
int cnt=0;
while(s-l>1e-6)
{
a1=a/2;
s1=0.5*sin(x3)*a1*a1;
a=a1*sin(x3)/sin(x4);
s-=n*s1;
cnt++;
}
printf("%d\n",cnt);
}
return 0;
}
#include
#include
#include
using namespace std;
int main()
{
int t,n,i,j;
scanf("%d",&t);
while(t--)
{
scanf("%d",&n);
int flag=0,a;
for(i=0;i