西山居初赛第三场1001

2024-05-10 22:48

本文主要是介绍西山居初赛第三场1001,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

生日猜猜猜

Time Limit: 3000/1000 MS (Java/Others)    Memory Limit: 65535/32768 K (Java/Others)
Total Submission(s): 442    Accepted Submission(s): 167


Problem Description
小明对生日十分看重,因为他可以得到祝福,可以和朋友亲人一起分享快乐,可以为自己的人生做一次总结,并且...能够收到好多礼物!
不过小明是个神秘的人,不会轻易告诉你他的生日,现在他想到一个办法,让你去猜他的生日是哪一天。

小明会告诉你如下三个信息:

1. 出生月份和出生日子的最大公约数;
2. 出生月份和出生日子的最小公倍数;
3. 出生年份;

现在要求你猜出小明的生日。

Input
第一行输入一个正整数T,表示总共有T组册数数据(T <= 200);
对于每组数据依次输入三个数x,y,z,
x表示出生月份和出生日子的最大公约数(1<= x <=1000);
y表示出生月份和出生日子的最小公倍数(1<= y <=1000);
z表示出生年份(1900 <= z <= 2013)。
每组输入数据占一行。

Output
对于每组数据,先输出Case数。
如果答案不存在 ,输出“-1”;
如果答案存在但不唯一 ,输出“1”;
如果答案唯一,输出生日,日期格式为YYYY/MM/DD;
每组输出占一行,具体输出格式参见样例。

Sample Input
  
3 12 24 1992 3 70 1999 9 18 1999

Sample Output
  
Case #1: 1992/12/24 Case #2: -1 Case #3: 1999/09/18


#include<stdio.h>
int fun(int a,int b,int c)  /*判断是否为最大公约数*/
{int i,flag=1;for(i=c+1;i<13;i++)if(a%i==0&&b%i==0)flag=0;return flag;
}main()
{int i,j,T,a,x,y,count=1,flag=0,n,m,s;scanf("%d\n",&T);while(T--){scanf("%d%d%d",&x,&y,&a);for(i=1;i<13;i++){if(i==2){if(((a%4==0)&&(a%100!=0))||(a%400==0))s=29;else s=28;}if((i==1)||(i==3)||(i==5)||(i==7)||(i==8)||(i==10)||(i==12))s=31;if((i==4)||(i==6)||(i==9)||(i==11))s=30;for(j=1;j<=s;j++)if((i%x==0)&&(j%x==0)&&((i*j)/x==y)&&(fun(i,j,x)==1)){flag++;n=i;m=j;}}if(flag==1)printf("Case #%d: %d/%02d/%02d\n",count,a,n,m);else if(flag==0)printf("Case #%d: %d\n",count,-1);else if(flag>1)printf("Case #%d: %d\n",count,1);count++;flag=0;}return 0;
}




#include<stdio.h>
int fun(int a,int b,int c)  /*判断是否为最大公约数*/
{int i,flag=1;for(i=c+1;i<13;i++)if(a%i==0&&b%i==0)flag=0;return flag;
}main()
{int i,j,T,a,x,y,count=1,flag=0,n,m,s;scanf("%d\n",&T);while(T--){scanf("%d%d%d",&x,&y,&a);for(i=1;i<13;i++){if(i==2){if(((a%4==0)&&(a%100!=0))||(a%400==0))s=29;else s=28;}if((i==1)||(i==3)||(i==5)||(i==7)||(i==8)||(i==10)||(i==12))s=31;if((i==4)||(i==6)||(i==9)||(i==11))s=30;for(j=1;j<=s;j++)if((i%x==0)&&(j%x==0)&&((i*j)/x==y)&&(fun(i,j,x)==1)){flag++;n=i;m=j;}}if(flag==1)printf("Case #%d: %d/%02d/%02d\n",count,a,n,m);else if(flag==0)printf("Case #%d: %d\n",count,-1);else if(flag>1)printf("Case #%d: %d\n",count,1);count++;flag=0;}return 0;
}


这篇关于西山居初赛第三场1001的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/977776

相关文章

CPC23第三场、第四场总结

这两天跟着Arthur学长们混了两天现场赛,有种打怪升级的感觉,就是90级的老大们带30级的我去打100级的BOSS,看着Arthur他们在不断的输出,我在一旁水经验·······不过我也没闲着玩泥巴,在status里留下了一大片WA、TLE、RE··········         CPC23第三场,开场19分钟,Arthur全场一A了C题,于是我就开始跟着切C题。看了一眼题目

百度之星 2015 复赛 1001 (数长方形)

数长方形    Accepts: 595    Submissions: 1225  Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Problem Description 小度熊喜欢玩木棒。一天他在玩木棒的时候,发现一些木棒会形成长方形

百度之星 2015 初赛(1) 1002 找连续数

找连续数      Accepts: 401      Submissions: 1911  Time Limit: 2000/1000 MS (Java/Others)      Memory Limit: 32768/32768 K (Java/Others) Problem Description 小度熊拿到了一个无序的数组,对于这个数组,小度熊想知道是

百度之星初赛1002(二分搜索)

序列变换    Accepts: 816    Submissions: 3578  Time Limit: 4000/2000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Problem Description 给定序列 A={A1,A2,...,An} , 要求改变序列A中

百度之星初赛1006(计算几何:能包含凸包的最小矩形面积)

矩形面积    Accepts: 717    Submissions: 1619  Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 32768/32768 K (Java/Others) Problem Description 小度熊有一个桌面,小度熊剪了很多矩形放在桌面上,小度熊想知道能把这些

2015多校联合训练第三场Work(hdu5326)

题意: a是b的上司,b是c的上司,则a是c的上司,问构成一个树种,有多人是 k个人的上司 思路: 先找出root,然后dfs一下就行 #include <bits/stdc++.h>#define LL long longusing namespace std;const int MAXN = 1e6;int f[105];int n, k;int mp[101][101];

2015年多校联合训练第三场RGCDQ(hdu5317)

题意: f(i)代表i数中有的素数的种数,给出区间[l,r],求区间内max(gcd(f(i))), 由于i最大是1e6,2*3*5*7*11*13*17>1e6,故最多不超过7种素数, 先打表打出1e6内的素数种数表,然后用sum[i][j]代表1-i个数中,还有j个素数的个数,最后用sum[r][j] - sum[l-1][j]求出区间内含有j个素数的数的个数,暴力找出1,2,3,4,5

信息学奥赛初赛天天练-83-NOIP2014普及组-基础题2-输入设备、输出设备、操作系统、二进制、整数除法、while、do while循环

1 NOIP 2014 普及组 基础题2 4 以下哪一种设备属于输出设备( ) A 扫描仪 B 键盘 C 鼠标 D 打印机 5 下列对操作系统功能的描述最为完整的是( ) A 负责外设与主机之间的信息交换 B 负责诊断机器的故障 C 控制和管理计算机系统的各种硬件和软件资源的使用 D 将没有程序编译成目标程序 11 下列各无符号十进制整数中,能用八位二进制表示的数中最大的是( ) A 296

CSP初赛知识点讲解(十二)

图 简单来说:用边把一些点连接起来叫图 有向图:边有方向的图,比如边a–>b,只能由a到b,不 能由b到a。 无向图:边没有方向的图,连接点a和b,那么a和b可以相互到达。 结点的度:无向图中与结点相连的边的数目。 结点的入度:在有向图中,以这个结点为终点的有向边 的数目。 结点的出度:在有向图中,以这个结点为起点的有向边 的数目。 联通图:图中任意两点能互相到达的图。 完全图:一

2024年“羊城杯”粤港澳大湾区网络安全大赛 初赛 Web数据安全AI 题解WriteUp

文章首发于【先知社区】:https://xz.aliyun.com/t/15442 Lyrics For You 题目描述:I have wrote some lyrics for you… 开题。 看一下前端源码,猜测有路径穿越漏洞 http://139.155.126.78:35502/lyrics?lyrics=../../../../../etc/passwd 简单看