UVa1646Edge Case
生活随笔
收集整理的這篇文章主要介紹了
UVa1646Edge Case
小編覺得挺不錯(cuò)的,現(xiàn)在分享給大家,幫大家做個(gè)參考.
? ? ? ? 題意:n個(gè)節(jié)點(diǎn)組成一個(gè)圈,求匹配(沒有公共點(diǎn)的邊集)的個(gè)數(shù)。
? ? ? ? 思路:找規(guī)律。列舉一下n=3,4,5的結(jié)果,觀察出是一個(gè)斐波那契數(shù)列。因?yàn)榻Y(jié)果很大,自己寫一個(gè)高精度。
#include <iostream> #include <stdio.h> #include <cmath> #include <algorithm> #include <iomanip> #include <cstdlib> #include <string> #include <memory.h> #include <vector> #include <queue> #include <stack> #include <map> #include <set> #define ll long long #define INF 1000000 #include<time.h>using namespace std;int F[10001][2500];int main(){memset(F,0,sizeof(F));F[3][1]=4;F[3][0]=1;F[4][1]=7;F[4][0]=1;for(int i=5;i<=10000;i++){int carry=0;for(int j=1;j<=F[i-1][0];j++){F[i][j]=F[i-1][j]+F[i-2][j]+carry;carry=F[i][j]/10;F[i][j]%=10;}F[i][0]=F[i-1][0];if(carry){F[i][F[i-1][0]+1]++;F[i][0]++;}}int n;while(cin>>n){for(int i=F[n][0];i>=1;i--){printf("%d",F[n][i]);}printf("\n");}return 0; }
總結(jié)
以上是生活随笔為你收集整理的UVa1646Edge Case的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 微博时光机定时发送微博
- 下一篇: 数据可视化系列-04数据大屏基础知识