n×n 的西洋棋棋盤上有kk 個車,第ii個車位於第r_iri行,第c_ici 列。求至少被乙個車攻擊的格仔數量。
車可以攻擊所有同一行或者同一列的地方。
輸入格式:
第1 行,2 個整數n,kn,k。
接下來k 行,每行2 個整數r_i,c_iri,ci。
輸出格式:
1 個整數,表示被攻擊的格仔數量。
輸入樣例#1:複製
3 2輸出樣例#1:複製1 22 2
7• 對於30% 的資料,1 \le n \le 10^3; 1 \le k \le 10^31≤n≤103;1≤k≤103;
• 對於60% 的資料,1 \le n \le 10^6; 1 \le k \le 10^61≤n≤106;1≤k≤106;
• 對於100% 的資料,1 \le n \le 10^9; 1 \le k \le 10^6; 1 \le r_i , c_i \le n1≤n≤109;1≤k≤106;1≤ri,ci≤n。
將車所在的行和列看作放到方陣的乙個角,只需要判斷不重複的行 l 和列 r 各有多少然後結果就為 n*n-(n-l)*(n-r)
可以用sort排序去重,也可以用unique函式去重
#include #include using namespace std;
int a[1000005];
int b[1000005];
int main()
sort(a+1,a+1+k);
sort(b+1,b+1+k);
long long num1=0,num2=0;
for(int i=1;i<=k;i++)
cout
}
P3913 車的攻擊
看起來挺簡單,看到資料範圍了嗎?看到了 對於100 的資料,n1 n 109 1 k 106 1 ri?ci?n。死心了嗎?是真的有點絕望。第一反應就是 桶,那反正也想不出別的辦法了,我們就用桶試試吧。經過畫圖推算之後,我們可以得到乙個公式 n n n chang n clie n是棋盤的邊長,ch...
P3913 車的攻擊 思維
題目描述 n nn times nn n 的西洋棋棋盤上有kkk 個車,第iii個車位於第rir iri 行,第cic ici 列。求至少被乙個車攻擊的格仔數量。車可以攻擊所有同一行或者同一列的地方。輸入格式 第1 行,2 個整數n,kn,kn,k。接下來k 行,每行2 個整數ri,cir i,c ...
洛谷 P3913 車的攻擊
n times nn n 的西洋棋棋盤上有kk 個車,第ii個車位於第r iri 行,第c ici 列。求至少被乙個車攻擊的格仔數量。車可以攻擊所有同一行或者同一列的地方。輸入格式 第1 行,2 個整數n,kn,k。接下來k 行,每行2 個整數r i,c iri ci 輸出格式 1 個整數,表示被攻...