#32152: 沒有頭緒..(cpp)


wash70539@gmail.com (Ash)

學校 : 不指定學校
編號 : 169526
來源 : [2.58.242.46]
最後登入時間 :
2022-11-18 18:33:59
f408. 迷你蘋菓鎮 -- 板橋高中教學題 | From: [103.152.151.22] | 發表日期 : 2022-09-16 23:45

眼下已經把陣列整理好,但不知要怎麼算要有幾個警哨,可以的話請提出一些思路,謝謝。

以下是目前寫到一半的程式碼:

#include <iostream>
#include <vector>
#include <cmath>
using namespace std;
int main(){
int n=0;
while (cin>>n)
{
vector<int> arr(n);
vector<int> abso(n);
for (int i = 0; i < n; i++){
cin>>arr.at(i);
abso.at(i)=arr.at(i);
}
for (int i = 0; i < n; i++)
abso.at(i)=abs(abso.at(i));
//排序演算法
int tmp=0;
for(int j=n;j>0;j--){
for(int i=1;i<j;i++)
if(abso.at(i-1)>abso.at(i)){
tmp=abso.at(i-1);
abso.at(i-1)=abso.at(i);
abso.at(i)=tmp;

tmp=arr.at(i-1);
arr.at(i-1)=arr.at(i);
arr.at(i)=tmp;
}
}
//開始處理
 
}
return 0;
}
 
#32163: Re: 沒有頭緒..(cpp)


cges30901 (cges30901)

學校 : 不指定學校
編號 : 30877
來源 : [39.9.74.255]
最後登入時間 :
2024-10-14 22:20:08
f408. 迷你蘋菓鎮 -- 板橋高中教學題 | From: [59.115.28.249] | 發表日期 : 2022-09-17 20:26

眼下已經把陣列整理好,但不知要怎麼算要有幾個警哨,可以的話請提出一些思路,謝謝。

以下是目前寫到一半的程式碼:

#include
#include
#include
using namespace std;
int main(){
int n=0;
while (cin>>n)
{
vector<int> arr(n);
vector<int> abso(n);
for (int i = 0; i < n; i++){
cin>>arr.at(i);
abso.at(i)=arr.at(i);
}
for (int i = 0; i < n; i++)
abso.at(i)=abs(abso.at(i));
//排序演算法
int tmp=0;
for(int j=n;j>0;j--){
for(int i=1;i<j;i++)
if(abso.at(i-1)>abso.at(i)){
tmp=abso.at(i-1);
abso.at(i-1)=abso.at(i);
abso.at(i)=tmp;

tmp=arr.at(i-1);
arr.at(i-1)=arr.at(i);
arr.at(i)=tmp;
}
}
//開始處理
 
}
return 0;
}


白人(<0)和黑人(>0)中間要放巡邏哨,用個for迴圈檢查即可

 
ZeroJudge Forum