codeforces 1080 C(矩形面積交)

2021-09-01 18:42:12 字數 1209 閱讀 4662

思路:根據給定的座標可以計算出黑白方塊各有幾個,首先對於兩種顏料不管其他的減去另一種顏色的方塊個數,接著要管的不過是相交部分而已,加上去就完了。

#pragma gcc optimize(2)

#include #include #include #include #include #include #include #include #include #include #include #include #include #include #include using namespace std;

typedef long long ll;

typedef unsigned long long ull;

const ll inff = 0x3f3f3f3f3f3f3f3f;

#define for(i,a,b) for(int i(a);i<=(b);++i)

#define fol(i,a,b) for(int i(a);i>=(b);--i)

#define rew(a,b) memset(a,b,sizeof(a))

#define inf int(0x3f3f3f3f)

#define si(a) scanf("%d",&a)

#define sl(a) scanf("%i64d",&a)

#define sd(a) scanf("%lf",&a)

#define ss(a) scanf("%s",a)

#define mod ll(100000073)

#define pb push_back

#define eps 1e-8

#define lc d<<1

#define rc d<<1|1

#define pll pair#define p pair#define pi acos(-1)

ll n,m,x1,x2,x3,x4,y1,y2,y3,y4,x,y,q,w;

ll sum(ll x,ll y,ll q,ll w,ll er)

int main()

x=max(x1,x3);y=max(y1,y3);q=min(x2,x4);w=min(y2,y4);//求出相交矩形座標

kk=sum(x,y,q,w,0),qw-=kk,zz+=kk;

printf("%i64d %i64d\n",qw,zz);

}return 0;

}

pat乙級1080C語言

列印出獲得合格證書的學生名單。每個學生佔一行,格式為 學生學號 gp gmid term gfinal g 如果有的成績不存在 例如某人沒參加期中考試 則在相應的位置輸出 1 輸出順序為按照總評分數 四捨五入精確到整數 遞減。若有並列,則按學號遞增。題目保證學號沒有重複,且至少存在1個合格的學生。輸...

Codeforces 587C 樹上倍增

題意 求樹上兩點路徑中的前 a 10 小的點權值。思路 類似lca倍增演算法來儲存 i 2 j 路上的 前 10 小個 的點權值。然後要寫乙個權值合併 具體求 u v 的話,就是先分別計算 和 減1是lca會重疊 然後再合併,輸出答案。include include include include ...

Codeforces 976C 題解報告

對資料進行排序 1 按左邊的數從小到大排 2 若左邊的數相等,則按右邊的數從大到小排。排序之後,若乙個數的右邊的數小於等於上乙個數的右邊的數,則這兩個數必然符合題意。比如2 13 2 12 1 11排序之後,變為 1 11 2 13 2 12因為12 13,則有 2,12 被包含在它的上乙個數 2,...