2014-10-25 04:02:59
搞了三题,D题想到是线段树,有点思路。。。但最后没敲出来。
A题:根据相邻两数互质,相邻奇数互质,判断一下
(1)l为奇数,那么r至少比大3。因为l=3,r=5,取3,4,5不符合;但l=3,r=6,取4,5,6就符合。那么l+1,l+2,l+3符合条件。
(2)l为偶数,那么l,l+1,l+2符合条件。
1 /************************************************************************* 2 > File Name: a.cpp 3 > Author: Nature 4 > Mail: 564374850@qq.com 5 > Created Time: Sat 25 Oct 2014 12:59:51 AM CST 6 ************************************************************************/ 7 8 #include <cstdio> 9 #include <cstring> 10 #include <cstdlib> 11 #include <cmath> 12 #include <vector> 13 #include <map> 14 #include <set> 15 #include <stack> 16 #include <queue> 17 #include <iostream> 18 #include <algorithm> 19 using namespace std; 20 #define lp (p << 1) 21 #define rp (p << 1|1) 22 #define getmid(l,r) (l + (r - l) / 2) 23 #define MP(a,b) make_pair(a,b) 24 typedef long long ll; 25 const int INF = 1 << 30; 26 27 ll l,r; 28 29 int main(){ 30 scanf("%I64d%I64d",&l,&r); 31 if(l % 2){ 32 if(r - l <= 2) 33 printf("-1\n"); 34 else 35 printf("%I64d %I64d %I64d\n",l + 1,l + 2,l + 3); 36 } 37 else{ 38 if(r - l <= 1) 39 printf("-1\n"); 40 else 41 printf("%I64d %I64d %I64d\n",l,l + 1,l + 2); 42 } 43 return 0; 44 }