algorithm shoemaker problem - andstudy/forge GitHub Wiki
- ์ด๊ฒ๋ ํ์ด๋ดค๋ ๋ฌธ์ ์ด๊ธดํ๋ฐ, ๋๋ฌด์ง ์ด๋ป๊ฒ ํ์๋์ง ๋ ์ค๋ฅด์ง ์์์ ๋ฌด์ง ์ ๋จน์์ต๋๋ค. ๋จธ๋ฆฌ๊ฐ ํดํํ ๊ธฐ๋ถ์ ๋๊ผ๋ค๋ฅ...
copy(Data.begin(), Data.end(),ostream_iterator<SData>(cout, " "));
์์ฝ๋๋ ์ปดํ์ผ ์๋ฌ์ ๋๋ค. ์ปดํ์ผ ์๋ฌ ๋ด์ฉ์ ์๋์ ๊ฐ์ต๋๋ค.
pgdaemon.tmp.cpp: In function 'int main()':
pgdaemon.tmp.cpp:55: error: 'ostream_iterator' was not declared in this scope
pgdaemon.tmp.cpp:55: error: expected primary-expression before '>' token
ostreamiterator๊ฐ ์ ์ธํ์ง ์์๋ค๊ณ ํด์ ํค๋ํ์ผ ๋ฌธ์ ์ธ์ง ์ผ์๋๋ฐ ์ฌ๋ฌ๊ฐ์ง ์ฝ์ง๋์..
copy(Data.begin(), Data.end(),ostream_iterator<struct SData>(cout, " "));
-
์์ ๊ฐ์ด ์์ ์ ํ๋๋ ์ ์์ ์ธ ์ปดํ์ผ์ด ๋์์ต๋๋ค.
-
ํ์ง๋ง ์ค๋ซ๋์ ์ ์ป๋๋ฐ๋ ๋ถ๊ตฌํ๊ณ ๊ฐ ์ค๋ง๋ค ๋ง์ง๋ง์ ' ' ๊ฐ ํ๋ ๋ ๋ค์ด๊ฐ์ PE(Presentation error)๊ฐ ๋ฐ์ํ๋๊ตฐ์ :D
-
vector๋ ์ ๋๋ก ๋์๋๋ฐ ostreamiterator๋ง ์๋๋๊ฒ ํน๋ณํ ์ด์ ๋ผ๋ ์์๊น์? ์๋๋ฉด ๋จ์ํ G++์ด๋ ํํ์ด์ง์ ๋ฌธ์ ์ผ๊น์?
#include <iostream>
#include <vector>
#include <iterator>
#include <algorithm>
using namespace std;
struct SData
{
int T;
int S;
int n;
bool operator<(const SData &rhs) const
{
return rhs.T*S > rhs.S*T;
}
};
vector<SData> Data;
void InputData()
{
int n;
SData TempData;
Data.clear();
cin >> n;
for(int i = 1; i <= n; ++i )
{
cin >> TempData.T >> TempData.S;
TempData.n = i;
Data.push_back(TempData);
}
}
void OutputData()
{
for(int i = 0; i < Data.size(); ++i )
{
cout << Data[i].n;
if( i != Data.size()-1 ) cout << " ";
}
}
int main()
{
int n;
cin >> n;
while(n--)
{
InputData();
sort(Data.begin(), Data.end());
OutputData();
cout << endl;
if(n) cout << endl;
}
return 0;
}
- ํจ๋ํฐ๊ฐ ํด์๋ก ๋นจ๋ฆฌ ์ฒ๋ฆฌํ๋๊ฒ์ด ์ ๋ฆฌ
- ์์ ์ผ ์๊ฐ ์ ์์๋ก ๋นจ๋ฆฌ ์ฒ๋ฆฌํ๋ ๊ฒ์ด ์ ๋ฆฌ
- ๊ทธ๋ ๋ค๋ฉด (ํจ๋ํฐ/์์ ์ผ) ์์ผ๋ก ์ฒ๋ฆฌํ๋๊ฒ์ด ์ ๋ฆฌ???
- (ํจ๋ํฐ/์์ ์ผ)์ด ๊ฐ์ ๊ฒฝ์ฐ ์์๋ฅผ ๋ฐ๊ฟ๋ ์ด ํจ๋ํฐ์๋ ๋ณํ ์๋ค
- ๊ทธ๋ด์ธํ์ง๋ง ๋ญ๊ฐ ๊บผ๋ฆผ์นํ๋ค
- ์ด ์ผ์ ์งํ ํ ๊ฒฝ์ฐ ๋ฐ์ํ๋ ํจ๋ํฐ์ ์ดํฉ์ด ์ ์ ๊ฒ ๋ถํฐ ์ฒ๋ฆฌ
- ํจ๋ํฐ์ ์ดํฉ์ ์ด ์ผ์ ํ์ํ ์๊ฐ์ ๋ค๋ฅธ ์ผ๋ค์ ํจ๋ํฐ๋ฅผ ๊ณฑํ๊ฒ๋ค์ ํฉ
- ์ํ ์ ํ๋ฆผ
- ํ์ด๋๋ก๋ผ๋ฉด 2 1 3 4 ๊ฐ ์๋๋ผ 2 3 1 4 ๊ฐ ๋๋ค