【CF1020A】New Building for SIS(签到)
2018-10-24 13:55
169 查看
题意:
有n栋楼,从一栋楼某个地方,到大另一栋楼的某个地方,每栋楼给了连接楼的天桥,每走一层或者穿个一栋楼花费一分钟,求出起点到大目的点最少花费的时间
n,h<=1e8,q<=1e4
思路:分类讨论
1 #include<cstdio> 2 #include<cstring> 3 #include<string> 4 #include<cmath> 5 #include<iostream> 6 #include<algorithm> 7 #include<map> 8 #include<set> 9 #include<queue> 10 #include<vector> 11 using namespace std; 12 typedef long long ll; 13 typedef unsigned int uint; 14 typedef unsigned long long ull; 15 typedef pair<int,int> PII; 16 typedef vector<int> VI; 17 #define fi first 18 #define se second 19 #define MP make_pair 20 #define N 1100000 21 #define MOD 1000000007 22 #define eps 1e-8 23 #define pi acos(-1) 24 25 int read() 26 { 27 int v=0,f=1; 28 char c=getchar(); 29 while(c<48||57<c) {if(c=='-') f=-1; c=getchar();} 30 while(48<=c&&c<=57) v=(v<<3)+v+v+c-48,c=getchar(); 31 return v*f; 32 } 33 34 void swap(int &x,int &y) 35 { 36 int t=x;x=y;y=t; 37 } 38 39 int main() 40 { 41 //freopen("1.in","r",stdin); 42 //freopen("1.out","w",stdout); 43 int n,h,a,b,k; 44 scanf("%d%d%d%d%d",&n,&h,&a,&b,&k); 45 for(int i=1;i<=k;i++) 46 { 47 int x1,y1,x2,y2; 48 scanf("%d%d%d%d",&x1,&y1,&x2,&y2); 49 int ans=1<<30; 50 ans=min(ans,abs(a-y1)+abs(x1-x2)+abs(a-y2)); 51 ans=min(ans,abs(b-y1)+abs(x1-x2)+abs(b-y2)); 52 if(a<=y1&&y1<=b) ans=min(ans,abs(x2-x1)+abs(y1-y2)); 53 if(a<=y2&&y2<=b) ans=min(ans,abs(x2-x1)+abs(y1-y2)); 54 if(x1==x2) ans=min(ans,abs(y1-y2)); 55 printf("%d\n",ans); 56 } 57
相关文章推荐
- Five Minds for the Future: Mental Building Blocks for the New Century
- NewRelicAgent(CustomAnalyticEvent.cxx.o), building for iOS simulator, but linking in object file built for OSX, for architecture x8(botched)
- Five Minds for the Future: Mental Building Blocks for the New Century
- Building Android for a new Mobile Device
- 50 New Resources and Tools for Developers and Designers
- Note 751000 - New user exit for changes when saving deliveries
- Mail-list精选-[Pragprog]What's your "new lauguage" for the new year?
- Building QT for i.MX6 with YOCTO
- Class.forName()、Class.forName().newInstance() 、New 三者区别!
- android The method execute(Void[]) is ambiguous for the type new AsyncTask<Void,Void,Void>(){}
- building bootloader and kernel for pandaboard
- hdoj 1420 Prepared for New Acmer 【快速幂】
- Class.forName和New的比较
- Patterns for Performance and Operability: Building and Testing Enterprise Software
- SQL Server:Trace and Replay Objects: A New API for SQL Server Tracing and Replay
- creates a new user for an ASP.NET application
- IOS中提示could not insert new action connection :could not find any information for the class
- hdoj 1420 Prepared for New Acmer
- [ZZ]Sign Up for the First-Ever Appium Roadshow on August 20th in New York City
- D - Prepared for New Acmer