UVa 10213 How Many Pieces of Land (欧拉定理)
来源:互联网 发布:佳能打印机清零软件 编辑:程序博客网 时间:2024/05/16 12:18
题解:根据欧拉定理V+F-E = 2,V是点数,E是边数,F是面数
欧拉公式
化简一下就是124(n4−63+23n2−18n)+1
因为n比较大用long long 数值会爆所以我们可以用__int128操作
#include<iostream>#include<cstdio>#include<cstring>#include<algorithm>#include<set>#include<vector>#include<queue>#include<stack>#include<map>using namespace std;#define rep(a,b) for(int i = a; i <= b; i++)#define dec(a,b) for(int i = a; i >= b; i--)#define root 1,1,n#define ls 2*rt#define rs 2*rt+1#define mid (L+R)/2#define lson ls,L,mid#define rson rs,mid+1,R#define fi first#define se secondtypedef long long int ll;const int mx = 1e5+5;void print(__int128 ans){if(ans==0)return;print(ans/10);printf("%d",ans%10);//print(ans/10);}int main(){int n;int t;scanf("%d",&t);while(t--){scanf("%d",&n);__int128 x = n;__int128 ans = (x*x*x*x + 23*x*x-6*x*x*x-18*x)/24+1;print(ans);puts("");}return 0;}
阅读全文