↓ 跳过正文
  1. Posts/

2016 NEERC Northern Subregional Contest A Anniversary Cake (水题)

·380 字·1 分钟

题意:
#

W_H的方格纸,共有(w+1)_(H+1)个整点,现在将2个蜡烛放在2个不同的整点上。蜡烛不会被放在边界上。现在给出方格纸的尺寸和2个蜡烛的坐标,求一条线段将方格纸拆成2部分,而且这条线段不经过任何一个蜡烛且使得每一部分恰好有一个蜡烛。问线段的起点和终点。

思路:
#

为了方便讨论,我们将x坐标小的设为蜡烛1,另一个设为蜡烛2.

分两种情况讨论,即横坐标相同和不同2种情况。

需要注意的是…要交文件orz

代码实现
 1/* ***********************************************
 2Author :111qqz
 3Created Time :2017年10月02日 星期一 12时34分38秒
 4File Name :A.cpp
 5************************************************ */
 6
 7#include <cstdio>
 8#include <cstring>
 9#include <iostream>
10#include <algorithm>
11#include <vector>
12#include <queue>
13#include <set>
14#include <map>
15#include <string>
16#include <cmath>
17#include <cstdlib>
18#include <ctime>
19#define PB push_back
20#define fst first
21#define sec second
22#define lson l,m,rt<<1
23#define rson m+1,r,rt<<1|1
24#define ms(a,x) memset(a,x,sizeof(a))
25typedef long long LL;
26#define pi pair < int ,int >
27#define MP make_pair
28
29using namespace std;
30const double eps = 1E-8;
31const int dx4[4]={1,0,0,-1};
32const int dy4[4]={0,-1,1,0};
33const int inf = 0x3f3f3f3f;
34LL w,h,ax,ay,bx,by;
35int main()
36{
37    freopen("anniversary.in","r",stdin);
38    freopen("anniversary.out","w",stdout);
39    cin>>w>>h>>ax>>ay>>bx>>by;
40    if (ax>bx)
41    {
42        swap(ax,bx);
43        swap(ay,by);
44    }
45    if (ax!=bx)
46    {
47        printf("%lld %lld %lld %lld\n",ax,0LL,ax+1,h);
48    }
49    else
50    {
51        LL my = min(ay,by);
52        printf("%lld %lld %lld %lld\n",0LL,my,w,my+1);
53    }
54
55    return 0;
56}

相关文章

uva 152 Tree's a Crowd

·570 字·2 分钟
题意:题意:给你一组三维空间中的点,每个点到其它点都有个距离,其中有个最小距离,如果这个最小距离小于10,就将对应的距离的点个数加1,最后输出距离为0,1,2…8,9的点的个数。(from 百度) 老实说,上面这题意也讲的不明不白,其实这题非常水,就是对每个点进行判断,找出和其他点最短的距离,在下标为该距离的数组上+1,最后输出数组下标0-9的数。 trick:其实最小距离大于9的就不用存放了,只要开个大小10的数组。(不会概括。。。抄的别人的)

codeforces goodbye 2015 A. New Year and Days

·192 字·1 分钟
http://codeforces.com/contest/611/problem/A 题意:两种查询,一种是 x of week,x为1.。7,对应输出2016年星期x有多少天。另一种为x of month ,对应输出2016年至少有x天的月份有多少天。 思路:直接搞。。。。竟然脑残被hack了。。。sad.

codeforces 612 C. Replace To Make Regular Bracket Sequence

·358 字·1 分钟
http://codeforces.com/contest/612/problem/C 题意:其实就是栈的基本操作。。水题。 代码实现 1/* *********************************************** 2Author :111qqz 3Created Time :2015年12月25日 星期五 22时58分50秒 4File Name :code/cf/edu4/C.cpp 5************************************************ */ 6 7#include <cstdio> 8#include <cstring> 9#include <iostream> 10#include <algorithm> 11#include <vector> 12#include <queue> 13#include <set> 14#include <map> 15#include <string> 16#include <cmath> 17#include <cstdlib> 18#include <ctime> 19#define fst first 20#define sec second 21#define lson l,m,rt<<1 22#define rson m+1,r,rt<<1|1 23#define ms(a,x) memset(a,x,sizeof(a)) 24typedef long long LL; 25#define pi pair < int ,int > 26#define MP make_pair 27 28using namespace std; 29const double eps = 1E-8; 30const int dx4[4]={1,0,0,-1}; 31const int dy4[4]={0,-1,1,0}; 32const int inf = 0x3f3f3f3f; 33const int N=1E6+7; 34int len; 35char st[N]; 36int cost = 0 ; 37 38char a[N]; 39int n ; 40 41 42int which(char ch) 43{ 44 if (ch=='<'||ch=='{'||ch=='('||ch=='[') return 1; 45 return 2; 46} 47int kin(char ch) 48{ 49 if (ch=='{'||ch=='}') return 1; 50 if (ch=='['||ch==']') return 2; 51 if (ch=='<'||ch=='>') return 3; 52 if (ch=='('||ch==')') return 4; 53} 54bool ok(char x,char y) 55{ 56 int res = 0 ; 57 if(x=='<'||x=='{'||x=='['||x=='(') res++; 58 if (y=='>'||y=='}'||y==']'||y==')') res++; 59 if (res==2) 60 { 61 if (kin(x)!=kin(y)) cost++; 62// cout<<"x:"<<x<<" y:"<<y<<endl; 63 return true; 64 } 65 return false; 66} 67 68int main() 69{ 70 #ifndef ONLINE_JUDGE 71 freopen("code/in.txt","r",stdin); 72 #endif 73 cin>>st; 74 len = strlen(st); 75 int head = -1; 76 int ans = 0 ; 77 78 for ( int i = 0 ; i < len ; i++) 79 { 80 if (head==-1) 81 { 82 head++; 83 a[head] = st[i]; 84 if (which(st[i])==2) 85 { 86 puts("Impossible"); 87 return 0; 88 } 89 90 continue; 91 } 92 if (ok(a[head],st[i])) 93 { 94 head--; 95 } 96 else 97 { 98 head++; 99 a[head] = st[i]; 100 } 101 102// cout<<"head:"<<head<<endl; 103 } 104// cout<<"head:"<<head<<endl; 105 if (head!=-1) 106 { 107 puts("Impossible"); 108 } 109 else 110 { 111 cout<<cost<<endl; 112 } 113 114 #ifndef ONLINE_JUDGE 115 fclose(stdin); 116 #endif 117 return 0; 118}