bug全集
寄一下各种各样的离谱问题。
- [2024/7/26][杭电多校第11题]
源代码:
#include<bits/stdc++.h>
namespace Limie{
#define x first
#define y second
#define int long long
using namespace std;
typedef long long LL;
typedef unsigned long long ULL;
typedef pair<int,int> PII;
}using namespace Limie;
int n;
int a0=-1e18,b0=-1e18,c0=1e18,d0=1e18,a1=-1e18,b1=-1e18,c1=1e18,d1=1e18;
int get(int t)
{
if(t<0)t=-t;
return (max(a0,b0+t)-min(c0,d0-t))+(max(a1,b1+t)-min(c1,d1-t));
}
signed main()
{
cin>>n;
while(n--){
int x,y;
char ch;
cin>>x>>y>>ch;
if(ch=='E'){
a1=max(a1,y);
c1=min(c1,y);
b0=max(b0,x);
}
if(ch=='W'){
a1=max(a1,y);
c1=min(c1,y);
d0=min(d0,x);
}
if(ch=='N'){
a0=max(a0,x);
c0=min(c0,x);
b1=max(b1,y);
}
if(ch=='S'){
a0=max(a0,x);
c0=min(c0,x);
d1=min(d1,y);
}
}
int mn=get(0);
mn=min(mn,get(a0-b0));
mn = min (mn, get(a0 - c0));
mn = min (mn, get(b0 - c0));
mn=min(mn,get(d0-c0));
mn=min(mn,get(a1-b1));
mn = min (mn, get(a1 - c1));
mn = min (mn, get(b1 - c1));
mn=min(mn,get(d1-c1));
cout<<mn*2;
}
问题:EWSN中有一个没有出现就寄了,例子:1 1 1 E。
代码
#include<bits/stdc++.h>
namespace Limie{
#define x first
#define y second
#define int long long
using namespace std;
typedef long long LL;
typedef unsigned long long ULL;
typedef pair<int,int> PII;
}using namespace Limie;
int n;
int a0=-1e18,b0=-1e18,c0=1e18,d0=1e18,a1=-1e18,b1=-1e18,c1=1e18,d1=1e18;
int get(int t)
{
if(t<0)t=-t;
return (max(a0,b0+t)-min(c0,d0-t))+(max(a1,b1+t)-min(c1,d1-t));
}
signed main()
{
cin>>n;
while(n--){
int x,y;
char ch;
cin>>x>>y>>ch;
if(ch=='E'){
a1=max(a1,y);
c1=min(c1,y);
c0=min(c0,x);
b0=max(b0,x);
}
if(ch=='W'){
a1=max(a1,y);
c1=min(c1,y);
a0=min(a0,x);
d0=min(d0,x);
}
if(ch=='N'){
a0=max(a0,x);
c0=min(c0,x);
c1=min(c1,y);
b1=max(b1,y);
}
if(ch=='S'){
a0=max(a0,x);
c0=min(c0,x);
a1=min(a1,y);
d1=min(d1,y);
}
}
int mn=get(0);
mn=min(mn,get(a0-b0));
mn = min (mn, get(a0 - c0));
mn = min (mn, get(b0 - c0));
mn=min(mn,get(d0-c0));
mn=min(mn,get(a1-b1));
mn = min (mn, get(a1 - c1));
mn = min (mn, get(b1 - c1));
mn=min(mn,get(d1-c1));
cout<<mn*2;
}
苦心人,天不负。卧薪尝胆,三千越甲可吞吴。

浙公网安备 33010602011771号