1.無聊的遊戲
由題意可得,這道題只需要村模擬即可,就是稍微複雜裡一點
1.迴圈列舉每乙個沒死的同學,找到與該同學最近的乙個非自身且沒有死的同學,然後將其殺掉(標記一下)即可。
2.因為給的同學的位置是座標系的座標,所以求最近距離是要用上勾股定理,即行列的絕對值之差的平方之和。
3.如果一次迴圈沒有把剩下的殺死,那就再迴圈一次即可。
4.如果在模擬的過程中總數為1,那麼就找到唯一生存的同學並且輸出以及退出迴圈。
**如下:
#includeusing namespace std;
int students;
struct cristiano_ronaldo
student[3000]={};//x,y記錄座標;die記錄該學生是否死掉
inline int find_the_shortest_student(int student_number)//找到與第student_number個學生最近的學生
//勾股定理求最小值
}return shortest_student_number;
}inline int find_the_only_one_student()//找到唯一生存的學生
int main()
for (int i=1;i<=students;i++)
cin>>student[i].x>>student[i].y;
for (int i=1;i<=3000;i++)
student[i].die=0;//標記未死亡
int sum=students;
while (true)
}if (sum==1)
,double_seat=-1,ans=0;
char seat[1000]={};
cin>>seats;
for (int i=1;i<=seats;i++)
cin>>seat[i];
for (int i=1;i<=seats;i++)
//判斷是單人座位的情況
if (seat[i]=='l')
//判斷雙人座位的情況
} cout<3.括號表示式的值
1.因為由題意可得,括號是平衡的,因此可以用括號匹配來做,找出與每乙個左括號所匹配的右括號。
2.括號匹配的方法如下:用棧記錄左括號的位址,每次匹配到乙個右括號就記錄棧頂所匹配的右括號的位址,並出棧,如此反覆操作即可。
3.接著,就可以dfs了,先dfs(1,n),然後接著遞迴就可以。
遞迴過程如下:
a.如果它由多個平衡的括號組成,就遞迴第乙個平衡的括號和剩下部分。
b.如果有且只有一對不巢狀的括號,返回值為2.
c.如果只有一對平衡且帶有巢狀的括號,去掉頭和尾接著遞迴,並且結果乘2即可。
**如下:
#includeusing namespace std;
const long long mod=12345678910;
struct cristiano_ronaldo
a[100000]={};
long long dfs(long long l,long long r)//dfs遞迴
//進行括號匹配
cout<4.加油問題
1.因為資料沒有排序,應按照地點進行排序。
2.排序後,要使加油費最小,用單調佇列來維護每乙個加油站的加油費和每乙個加油站作加的油,令最便宜的油在對頭即可。
3.因為要使車能達到終點,沒到乙個站都要把油加滿,如果加的油比隊尾的油要便宜,那麼就把隊尾去掉,直到前面的油比它大或者隊列為空即可。
4.每次要用油的時候就從對頭取油用,因為是最便宜的。
5.因為一開始已經擁有的油是不用錢的,說宜**標記為0即可。
q:這麼反覆將油加滿不會對結果產生影響嗎?因為加了很多沒必要的油啊,那麼結果不是會更高嗎?
a:不會,因為佇列只是用來控制可用的且最便宜的油的數量,最後用多少要看你在對頭去多少油,因此給加滿油的油不一定會用完,而是取多少用多少,最終的結果也只是和你取得油量有關。
**如下:
#includeusing namespace std;
int head=1,tail=1,ans=0;
struct jgt
a[100000]={};
bool cmp(jgt xx,jgt yy)
{ return (xx.x>n>>g>>b>>d;
for (int i=1;i<=n;i++)
cin>>a[i].x>>a[i].y;
sort(a+1,a+n+1,cmp); //按照地點排序
q[1].p=0;
q[1].h=b;//把原有油進隊
for (int i=1;i<=n;i++)
{ if (g
一面 6 開發環境相關知識點與高頻考題解析
工程師的開發環境決定其開發效率,常用的開發環境配置也是面試考查點之一。本小節會重點介紹 git 的基本用法 部署和開發中常用的 linux 命令,然後以 webpack 為例介紹下前端構建工具,最後介紹怎麼抓包解決線上問題。這些都是日常開發和面試中常用到的知識。題目 你平時都使用什麼 ide 程式設...
題解 poj2054 複雜的貪心
題目鏈結 大佬部落格的講解非常詳細,學習了 詳細思路見上方部落格或者李煜東 演算法競賽高階指南 include include include using namespace std define rep i,a,b for int i a i b i define for i,a,b for in...
劍指offer題解(複雜鍊錶的複製)
輸入乙個複雜鍊錶 每個節點中有節點值,以及兩個指標,乙個指向下乙個節點,另乙個特殊指標指向任意乙個節點 返回結果為複製後複雜鍊錶的head。注意,輸出結果中請不要返回引數中的節點引用,否則判題程式會直接返回空 新建乙個鍊錶,先不管random指標,根據next指標將原鍊錶複製到新的鍊錶中,然後遍歷新...