1. 程式人生 > >拉姆齊定理

拉姆齊定理

一個 nbsp -- 技術 pro tdi code 最小 bsp

技術分享

1.暴力

4人兩兩不是朋友,則其中3人兩兩必定不是朋友

#include<iostream>
#include<cstdio>
#include<vector>
#include<set>
#include<map>
#include<string.h>
#include<cmath>
#include<algorithm>
#include<queue>
#define LL long long
#define mod 1000000007
#define inf 0x3f3f3f3f

using
namespace std; int n; bool a[3010][3010]; int pin() { for(int i=1;i<=n;i++) for(int j=i+1;j<=n;j++) for(int k=j+1;k<=n;k++) { int ans=a[i][j]+a[j][k]+a[k][i]; if(ans==3||ans==0) return
1; } return 0; } int main() { int t; scanf("%d",&t); while(t--) { memset(a,0,sizeof(a)); scanf("%d",&n); int tem; for(int i=1;i<=n-1;i++) for(int j=i+1;j<=n;j++) { scanf("%d",&tem); a[i][j]
=a[j][i]=tem; } if(n<=2) { printf("Great Team!\n"); continue; } int ans=pin(); if(ans==0) printf("Great Team!\n"); else printf("Bad Team!\n"); } return 0; }

2.拉姆齊定理

在組合數學上,拉姆齊(Ramsey)定理,又稱拉姆齊二染色定理,是要解決以下的問題:要找這樣一個最小的數 n,使得 n 個人中必定有 k 個人相識或 k 個人互不相識。

這個定理以弗蘭克·普倫普頓·拉姆齊命名,1930年他在論文On a Problem in Formal Logic(《形式邏輯上的一個問題》)證明了R(3,3)=6。6 個人中至少存在3人相互認識或者相互不認識。該定理等價於證明這6個頂點的完全圖的邊,用紅、藍二色任意著色,必然至少存在一個紅色邊三角形,或藍色邊三角形。

對於此題,當n大於等於6時一定存在一個大小大於等於三的團或獨立集,n小於6直接暴力

拉姆齊定理