日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 综合教程 >内容正文

综合教程

【Usaco2009 gold 】拯救奶牛

發布時間:2024/5/24 综合教程 50 生活家
生活随笔 收集整理的這篇文章主要介紹了 【Usaco2009 gold 】拯救奶牛 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

Description

貝希被困在一個三角形的迷宮之中。這個迷宮有N行(1 <= N <= 1000000)。比如下圖是一個3行的迷宮。
  
  迷宮的第i行有2*i-1個三角形,從左到右分別編號為(i,1)、(i,2)等等。貝希每次可以從一個三角形走到任意一個一個跟當前的三角形有鄰邊的三角形。比如說,如果她目前處于三角形(3,3),那么,她可以走到三角形(3,2)、(3,4)和(4,4)。貝希每次需要一分鐘的時間來移動到下一個三角形。
  
  農夫約翰發現貝希被困了!于是她跟蹤貝希的iPhone手機(可憐的觸摸屏~),得知貝希目前處于三角形(Si,Sj)。因為約翰對貝希有著無窮無盡的濃濃愛意,所以他希望貝希能盡可能快地回到他的身邊。
  在迷宮的三角形之中,有M(1 <= M <= 10000)個是出口。在任何一個出口都可以讓貝希逃離迷宮。一旦貝希進入一個作為出口的三角形,她用多一分鐘就可以逃離這個迷宮。
  找到一個可以讓貝希逃離迷宮最小時間T,并輸出她應該從哪一個出口逃離迷宮,這個出口記為(OUTi,OUTj)。如果有多個出口同時需要時間T,輸出那個行的編號小的出口,如果仍然有多個出口,輸出那個列的編號小的。

Input

第一行:兩個由空格隔開的整數:N和M。
  第二行:兩個由空格隔開的整數:Si和Sj。
  第三到第M+2行:第i+2行有兩個由空格隔開的整數Ei和Ej,表示三角形(Ei,Ej)是出口。

Output

第一行:兩個由空格隔開的整數:OUTi和OUTj。
  第二行:一個單獨的整數:T。

Sample Input

4 2
2 1
3 5
4 4

Sample Output

4 4
4

solution

這題感覺就是亂搞搞求個答案就可以了的說。。。
可能代碼你們看不懂。。。(我打的很丑**(⊙o⊙)…**)

code

#include<cstdio>
using namespace std;
int n,m,x1,y1,ansx,ansy,ans=(1<<30),s;

inline int read()
{
	int x=0; char c=getchar();
	while (c<'0' || c>'9') c=getchar();
	while (c>='0' && c<='9') x=(x<<1)+(x<<3)+(c^48),c=getchar();
	return x;
}

void doit(int x,int y,int x1,int y1)
{
	int le,ri,cg=0;
	if (! (y & 1)) x--,y--,cg--;
	if (y1 & 1) x1++,y1++,cg--;
	le=y+1,ri=y+(x1-x<<1)-1;
	s=(x1-x<<1)-1+cg+1;
	if (y1<le) s+=le-y1;
	else if (y1>ri) s+=y1-ri;
}

int main()
{
	freopen("save.in","r",stdin);
	freopen("save.out","w",stdout);
	n=read(),m=read();
	x1=read(),y1=read();
	for (int i=1,x,y;i<=m;i++)
	{
		x=read(),y=read();
		if (x<x1)
		{
			doit(x,y,x1,y1);
			if (s<ans) ans=s,ansx=x,ansy=y;
			else if (s==ans && y<ansy) ansx=x,ansy=y;
		}
		else
		{
			doit(x1,y1,x,y);
			if (s<ans) ans=s,ansx=x,ansy=y;
			else if (s==ans && y<ansy) ansx=x,ansy=y;
		}
	}
	printf("%d %d
%d
",ansx,ansy,ans);
	return 0;
}

轉載需注明出處。

總結

以上是生活随笔為你收集整理的【Usaco2009 gold 】拯救奶牛的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。