<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=2002%EB%85%84%EB%8F%84ACM%EB%AC%B8%EC%A0%9C%EC%83%98%ED%94%8C%ED%92%80%EC%9D%B4%2F%EB%AC%B8%EC%A0%9CB</id>
	<title>2002년도ACM문제샘플풀이/문제B - Revision history</title>
	<link rel="self" type="application/atom+xml" href="https://mediawiki.zeropage.org/index.php?action=history&amp;feed=atom&amp;title=2002%EB%85%84%EB%8F%84ACM%EB%AC%B8%EC%A0%9C%EC%83%98%ED%94%8C%ED%92%80%EC%9D%B4%2F%EB%AC%B8%EC%A0%9CB"/>
	<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=2002%EB%85%84%EB%8F%84ACM%EB%AC%B8%EC%A0%9C%EC%83%98%ED%94%8C%ED%92%80%EC%9D%B4/%EB%AC%B8%EC%A0%9CB&amp;action=history"/>
	<updated>2026-05-15T08:23:57Z</updated>
	<subtitle>Revision history for this page on the wiki</subtitle>
	<generator>MediaWiki 1.39.8</generator>
	<entry>
		<id>https://mediawiki.zeropage.org/index.php?title=2002%EB%85%84%EB%8F%84ACM%EB%AC%B8%EC%A0%9C%EC%83%98%ED%94%8C%ED%92%80%EC%9D%B4/%EB%AC%B8%EC%A0%9CB&amp;diff=26144&amp;oldid=prev</id>
		<title>imported&gt;Unknown at 05:22, 7 February 2021</title>
		<link rel="alternate" type="text/html" href="https://mediawiki.zeropage.org/index.php?title=2002%EB%85%84%EB%8F%84ACM%EB%AC%B8%EC%A0%9C%EC%83%98%ED%94%8C%ED%92%80%EC%9D%B4/%EB%AC%B8%EC%A0%9CB&amp;diff=26144&amp;oldid=prev"/>
		<updated>2021-02-07T05:22:09Z</updated>

		<summary type="html">&lt;p&gt;&lt;/p&gt;
&lt;p&gt;&lt;b&gt;New page&lt;/b&gt;&lt;/p&gt;&lt;div&gt;__TOC__&lt;br /&gt;
&lt;br /&gt;
= 상규, 재동 =&lt;br /&gt;
* STL 사용하면 쉽게 풀 수 있다는 걸 알고 있었지만 일부러 STL을 사용하지 않았습니다. 알고리즘적으로 머리를 쓰는 걸 훈련하기 위해...^^&lt;br /&gt;
 #include &amp;amp;lt;iostream&amp;amp;gt;&lt;br /&gt;
 #include &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
 using namespace std;&lt;br /&gt;
 &lt;br /&gt;
 int numOfData;&lt;br /&gt;
 string inputData[10];&lt;br /&gt;
 int outputData[10];&lt;br /&gt;
 &lt;br /&gt;
 string pattern;&lt;br /&gt;
 &lt;br /&gt;
 int getIndex(char c)&lt;br /&gt;
 {&lt;br /&gt;
 	int index;&lt;br /&gt;
 	index=pattern.find_first_of(c);&lt;br /&gt;
 	pattern = pattern.substr(0, index) + pattern.substr(index + 1);&lt;br /&gt;
 	return index;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void input()&lt;br /&gt;
 {&lt;br /&gt;
 	cin &amp;amp;gt;&amp;amp;gt; numOfData;&lt;br /&gt;
 	for(int i=0;i&amp;amp;lt;numOfData;i++)&lt;br /&gt;
 	{&lt;br /&gt;
 		cin &amp;amp;gt;&amp;amp;gt; inputData[i];&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void process()&lt;br /&gt;
 {&lt;br /&gt;
 	for(int i=0;i&amp;amp;lt;numOfData;i++)&lt;br /&gt;
 	{&lt;br /&gt;
 		int index;&lt;br /&gt;
 		int addNumber = 40320;&lt;br /&gt;
 		pattern = &amp;quot;abcdefgh&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
 		for(int j=0;j&amp;amp;lt;8;j++) &lt;br /&gt;
 		{&lt;br /&gt;
 			index = getIndex(inputData[i][j]);&lt;br /&gt;
 			addNumber /= (8-j);&lt;br /&gt;
 			outputData[i] += addNumber * index;&lt;br /&gt;
 		}&lt;br /&gt;
 		outputData[i]++;&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void output()&lt;br /&gt;
 {&lt;br /&gt;
 	for(int i=0;i&amp;amp;lt;numOfData;i++)&lt;br /&gt;
 	{&lt;br /&gt;
 		cout &amp;amp;lt;&amp;amp;lt; outputData[i] &amp;amp;lt;&amp;amp;lt; endl;&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 void main()&lt;br /&gt;
 {&lt;br /&gt;
 	input();&lt;br /&gt;
 	process();&lt;br /&gt;
 	output();&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
= 인수 =&lt;br /&gt;
* 처음 딱 보고, 앗 재귀다--; 이러고 막 고민하다가. 문득 STL 공부하다가 본 수열 제네레이터가 생각남&lt;br /&gt;
* 10분만에 끝남&lt;br /&gt;
* 비쥬얼 어시스트가 없었다면 수열 제네레이터 어떻게 쓰는지 몰랐을지도 --;&lt;br /&gt;
 #include &amp;amp;lt;iostream&amp;amp;gt;&lt;br /&gt;
 #include &amp;amp;lt;string&amp;amp;gt;&lt;br /&gt;
 #include &amp;amp;lt;algorithm&amp;amp;gt;&lt;br /&gt;
 &lt;br /&gt;
 using namespace std;&lt;br /&gt;
 &lt;br /&gt;
 int checkPerm(string&amp;amp;amp; str);&lt;br /&gt;
 &lt;br /&gt;
 int main()&lt;br /&gt;
 {&lt;br /&gt;
 	string given;&lt;br /&gt;
 	cin &amp;amp;gt;&amp;amp;gt; given;&lt;br /&gt;
 	&lt;br /&gt;
 	cout &amp;amp;lt;&amp;amp;lt; checkPerm(given);&lt;br /&gt;
 &lt;br /&gt;
 	return 0;&lt;br /&gt;
 }&lt;br /&gt;
 &lt;br /&gt;
 int checkPerm(string&amp;amp;amp; given)&lt;br /&gt;
 {&lt;br /&gt;
 	string str = &amp;quot;abcdefgh&amp;quot;;&lt;br /&gt;
 &lt;br /&gt;
 	for(int i = 1 ; i &amp;amp;lt;= 40320 ; ++i)&lt;br /&gt;
 	{&lt;br /&gt;
 		if(str == given)&lt;br /&gt;
 			return i;&lt;br /&gt;
 		next_permutation(str.begin(), str.end());&lt;br /&gt;
 	}&lt;br /&gt;
 }&lt;br /&gt;
&lt;br /&gt;
----&lt;br /&gt;
[[2002년도ACM문제샘플풀이]]&lt;br /&gt;
&lt;/div&gt;</summary>
		<author><name>imported&gt;Unknown</name></author>
	</entry>
</feed>