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 }
View Code

相关文章: