傳送門
【問題描述】
海星突擊隊在一次執行任務中,有n個人在敵佔區被圍困,他們最後在乙個隱蔽地方安營紮寨,等待友軍支援。
從安全角度出發,每天晚上他們必須安排人來值班,以防敵人發現襲擊。他們的長官決定每天安排至少3人值班才能保證基本安全。但是因為晚上值班過於無聊,值班的人可能發生衝突,所以不能讓任何2個人一起值班超過3次(不一定連續3次)。
請問突擊隊最多能度過多少天,並且保證沒有任何人之間有衝突
【輸入】
乙個正整數n ,表示有n 個人
【輸出】
第一行輸出乙個整數ans ,表示最多可以安全度過ans 天。
接下來ans 行,每行若干個整數,表示這一天安排值班的人。如果有多組解,輸出任意一組即可。
【輸入樣例】
3 【輸出樣例】
3 1 2 3
1 2 3
1 2 3
對於50% 的資料,保證n<=99。
對於100% 的資料,保證3<=n<=999,且n 為奇數
本題有部分分數,安全度過的天數正確可以得60%分數
構造題。
一共有c(n,2)組,每天對三組人有影響,每組不能超過三次。感性認識,能挺c(n,2)天。
之後,就是如何構造了,很玄學。
不過可以通過隨機來發現一些規律:
先隨機出x,y,z這三個數,統計他們共同出現過的次數,如果可以,ans++;
但更玄學的是不管隨機次數多大重點內容,答案總是離正確答案少了那麼一點…….
不過沒關係,如果把那張統計次數的表打出來,你就可以一眼瞄到還可以增加的答案,進而發現規律,得出答案。
#include
#include
using namespace std;
int n;
int a[1100][1100]={};
int main()
再附帶隨機的**
#include
using namespace std;
int n,cnt=0;
int a[1100][1100]={};
int rank()
int main()
printf("%d\n----------\n",cnt);
for(int i=1;i<=n;i++)
return
0;}
演算法突擊訓練營 開學第1課 聽課總結
講師 覃超 光看不練 類似看keep,不到健身房去聯絡 尋求一次就懂 只學一遍,只練一遍 一定要動手練習 且踐行五毒神掌 科學做題 高頻題目 一天要刷3 5道題,期中10 同乙個題目,不同次提交,耗時不一樣。因為分配的伺服器不一樣。leetcode 也不是頂級程式設計師寫的,有的時候有bug,正常。...
訓練部隊 全國模擬(三)
程式設計題 訓練部隊 時間限制 1秒 空間限制 32768k 小牛牛是牛牛王國的將軍,為了訓練出精銳的部隊,他會對新兵進行訓練。部隊進入了n個新兵,每個新兵有乙個戰鬥力值和潛力值,當兩個新兵進行決鬥時,總是戰鬥力值高的獲勝。獲勝的新兵的戰鬥力值就會變成對手的潛力值 自己的戰鬥力值 對手的戰鬥力值。敗...
2015 08 省賽模擬訓練總結
說在前面 這個月我們提早回來學校訓練,這種安排早已習慣了。每到這個時候,我的收穫會是一年中最大的。這一次我做的是省賽組的題,從中我不僅學到許多,而且看出了自己的許多問題。暴露的問題 我在做比賽時的問題,可以大致歸為幾點 時間分配問題 省賽題目的難度是普遍較高的,這時合理分配時間很重要,很重要,很重要...