1 2 5 3
SECOND BIGGER FIRST BIGGER
题意:给你两个整型数x,y(x≠y),表示原子序数为集合{1,2,3,4,..18,35,36,53,54,85,86}中的一个所代表的元素,比较两元素第一电离能的大小,
若x代表的元素的第一电离能大,则输出FIRST BIGGER,否则输出SECOND BIGGER。
解题思路:高中化学学过第一电离能的孩子都知道这题该如何解,而且,出题人还降低了题目的难度,限制了x,y两元素要么是同一周期的,要么是统一族的,所以这题纯属是一道特判题,可能是学过忘了,但是不要紧,看两幅图就一切OK了。
同一周期中,唯一有点不同的地方是ⅡA族与ⅢA族之间的关系、ⅤA族与Ⅵ族之间的关系与其它同周期元素的关系是相反的
此题你也可以上网百度元素的第一电离能打个表什么的,但是我给的方法就是单纯的特判,判断是否是同一周期的,剩下的情况就是同一族的,见代码
#include<stdio.h> #include<string.h> #include<stdlib.h> #include<queue> #include<math.h> #include<vector> #include<map> #include<set> #include<cmath> #include<string> #include<algorithm> #include<iostream> #define exp 1e-10 using namespace std; const int N = 500005; const int inf = 1000000000; int main() { int x,y; while(~scanf("%d%d",&x,&y)) { if(x>0&&x<3&&y>0&&y<3) x>y?puts("FIRST BIGGER"):puts("SECOND BIGGER"); else if(x>2&&x<11&&y>2&&y<11) { if(x>3&&x<6&&y>3&&y<6) x<y?puts("FIRST BIGGER"):puts("SECOND BIGGER"); else if(x>6&&x<9&&y>6&&y<9) x<y?puts("FIRST BIGGER"):puts("SECOND BIGGER"); else x>y?puts("FIRST BIGGER"):puts("SECOND BIGGER"); } else if(x>10&&x<19&&y>10&&y<19) { if(x>11&&x<14&&y>11&&y<14) x<y?puts("FIRST BIGGER"):puts("SECOND BIGGER"); else if(x>14&&x<17&&y>14&&y<17) x<y?puts("FIRST BIGGER"):puts("SECOND BIGGER"); else x>y?puts("FIRST BIGGER"):puts("SECOND BIGGER"); } else if(x>34&&x<37&&y>34&&y<37||x>52&&x<55&&y>52&&y<55||x>84&&x<87&&y>84&&y<87) x>y?puts("FIRST BIGGER"):puts("SECOND BIGGER"); else x<y?puts("FIRST BIGGER"):puts("SECOND BIGGER"); } return 0; }
欢迎大家提建议
菜鸟成长记