要求找能夠一筆畫的最大邊數,考慮找歐拉路 當徹底圖的節點數爲奇數個ios
時,奇度數點爲0,存在歐拉路,最大通過變數就是徹底圖的邊數,當節點c++
數爲偶數時,全部節點爲奇度數節點,考慮刪邊,刪一條邊最多能夠把spa
兩個節點變爲歐度數點,因此刪n/2 -1條邊出現歐拉路code
#include<iostream> #include<cstdio> #define ll long long using namespace std; long long t; int main(){ cin>>t; int n; while(t--){ cin>>n; if(n&1){ cout<<1ll*n*(n-1)/2<<endl; } else{ cout<<(1ll*n*(n-1)/2)-(1ll*n/2-1)<<endl; } } return 0; }