<?xml version="1.0" encoding="UTF-8" ?><rdf:RDF 
  xmlns="http://purl.org/rss/1.0/"
  xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#"
  xmlns:atom="http://www.w3.org/2005/Atom"
  xmlns:dc="http://purl.org/dc/elements/1.1/"
  xml:lang="ja">
  <channel rdf:about="http://w.atwiki.jp/isa_rentacs/">
    <title>Isa@Code集積場</title>
    <link>http://w.atwiki.jp/isa_rentacs/</link>
    <atom:link href="https://w.atwiki.jp/isa_rentacs/rss10.xml" rel="self" type="application/rss+xml" />
    <atom:link rel="hub" href="https://pubsubhubbub.appspot.com" />
    <description>Isa@Code集積場</description>

    <dc:language>ja</dc:language>
    <dc:date>2011-06-19T01:07:28+09:00</dc:date>
    <utime>1308413248</utime>

    <items>
      <rdf:Seq>
                <rdf:li rdf:resource="https://w.atwiki.jp/isa_rentacs/pages/13.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/isa_rentacs/pages/48.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/isa_rentacs/pages/47.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/isa_rentacs/pages/46.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/isa_rentacs/pages/32.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/isa_rentacs/pages/45.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/isa_rentacs/pages/2.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/isa_rentacs/pages/1.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/isa_rentacs/pages/44.html" />
                <rdf:li rdf:resource="https://w.atwiki.jp/isa_rentacs/pages/43.html" />
              </rdf:Seq>
    </items>
	
		
    
  </channel>
    <item rdf:about="https://w.atwiki.jp/isa_rentacs/pages/13.html">
    <title>AOJ</title>
    <link>https://w.atwiki.jp/isa_rentacs/pages/13.html</link>
    <description>
      AOJで解いたもの
***Volume 0
[[0030&gt;[aoj]0030]] [[問題&gt;http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0030]] Sum of Integers 
[[0031&gt;[aoj]0031]] [[問題&gt;http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0031]] Weight 
[[0032&gt;[aoj]0032]] [[問題&gt;http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0032]] Plastic Board
[[0033&gt;[aoj]0033]] [[問題&gt;http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0033]] Ball
[[0034&gt;[aoj]0034]] [[問題&gt;http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0034]] Railway Lines 
[[0035&gt;[aoj]0035]] [[問題&gt;http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0035]] Is it Convex?
[[0036&gt;[aoj]0036]] [[問題&gt;http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0036]] A Figure on Surface
[[0037&gt;[aoj]0037]] [[問題&gt;http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0037]] Path on a Grid
[[0038&gt;[aoj]0038]] [[問題&gt;http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0038]] Poker Hand
[[0039&gt;[aoj]0039]] [[問題&gt;http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0039]] Roman Figure
[[0040&gt;[aoj]0040]] [[問題&gt;http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0040]] Affine Cipher
[[0043&gt;[aoj]0043]] [[問題&gt;http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0043]] Puzzle 
[[0044&gt;[aoj]0044]] [[問題&gt;http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0044]] Prime Number II 
[[0052&gt;[aoj]0052]] [[問題&gt;http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0052]] Factorial II 
[[0053&gt;[aoj]0053]] [[問題&gt;http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0053]] Sum of Prime Numbers 
[[0054&gt;[aoj]0054]] [[問題&gt;http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0054]] Sum of Nth decimal places 
[[0055&gt;[aoj]0055]] [[問題&gt;http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0055]] Sequence 
[[0056&gt;[aoj]0056]] [[問題&gt;http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0056]] Goldbach&#039;s Conjecture 
[[0057&gt;[aoj]0057]] [[問題&gt;http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0057]] The Number of Area 
[[0058&gt;[aoj]0058]] [[問題&gt;http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0058]] Orthogonal 
[[0059&gt;[aoj]0059]] [[問題&gt;http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0059]] Intersection of Rectangle 
[[0060&gt;[aoj]0060]] [[問題&gt;http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0060]] Card Game 
[[0061&gt;[aoj]0061]] [[問題&gt;http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0061]] Rank Checker 
[[0062&gt;[aoj]0062]] [[問題&gt;http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0062]] What is the Bottommost? 
[[0063&gt;[aoj]0063]] [[問題&gt;http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0063]] Palindrome 
[[0064&gt;[aoj]0064]] [[問題&gt;http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0064]] Secret Number 
[[0065&gt;[aoj]0065]] [[問題&gt;http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0065]] Trading 
[[0066&gt;[aoj]0066]] [[問題&gt;http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0066]] Tic Tac Toe
[[0067&gt;[aoj]0067]] [[問題&gt;http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0067]] The Number of Island
[[0072&gt;[aoj]0072]] [[問題&gt;http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0072]] Carden Lantern
┗最小全域木を求める問題。
[[0073&gt;[aoj]0073]] [[問題&gt;http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0073]] Surface Area of Quadrangular Pyramid
[[0074&gt;[aoj]0074]] [[問題&gt;http://judge.u-aizu.ac.jp/onlinejudge/description.jsp?id=0074]] Videotape    </description>
    <dc:date>2011-06-19T01:07:28+09:00</dc:date>
    <utime>1308413248</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/isa_rentacs/pages/48.html">
    <title>[aoj]0074</title>
    <link>https://w.atwiki.jp/isa_rentacs/pages/48.html</link>
    <description>
      #include &lt;iostream&gt;
#include &lt;cstdio&gt;
using namespace std;

int main(void){
  int sec, sec3;
  int used;
  int hh,mm,ss;
  int reth,retm,rets;


  while(cin &gt;&gt; hh &gt;&gt; mm &gt;&gt; ss){
	if(hh == -1 &amp;&amp; mm == -1 &amp;&amp; ss == -1) break;
	used = hh * 3600 + mm * 60 + ss;
	sec = 7200 - used;
	sec3 = sec * 3;
	
	reth = sec / 3600;
	sec -= 3600 * reth;
	retm = sec / 60;
	sec -= 60 * retm;
	rets = sec;
	printf(&quot;%02d:%02d:%02d\n&quot;, reth, retm, rets);
	reth = sec3 / 3600;
	sec3 -= 3600 * reth;
	retm = sec3 / 60;
	sec3 -= 60 * retm;
	rets = sec3;
	printf(&quot;%02d:%02d:%02d\n&quot;, reth, retm, rets);
  }
}    </description>
    <dc:date>2011-06-19T01:06:36+09:00</dc:date>
    <utime>1308413196</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/isa_rentacs/pages/47.html">
    <title>[aoj]0073</title>
    <link>https://w.atwiki.jp/isa_rentacs/pages/47.html</link>
    <description>
      #include &lt;iostream&gt;
#include &lt;cmath&gt;
#include &lt;cstdio&gt;
using namespace std;

int main(void){
  int x, h;
  while(cin &gt;&gt; x){
	cin &gt;&gt; h;
	if(x == 0 &amp;&amp; h == 0) break;
	printf(&quot;%.6f\n&quot;,sqrt((double)x/2 * (double)x/2 + h*h) * x * 2 + x * x);
  }
}    </description>
    <dc:date>2011-06-19T00:58:50+09:00</dc:date>
    <utime>1308412730</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/isa_rentacs/pages/46.html">
    <title>[Algorithm]Prim&#039;s algorithm</title>
    <link>https://w.atwiki.jp/isa_rentacs/pages/46.html</link>
    <description>
      与えられたグラフの最小全域木を求める方法。priority_queueを使えばo(|E|log|V|)。

[手順]
1,適当な点を始点として取る

2,そこから到達可能な点のうち、最小コストのものを
到達済み集合に加える

3,すべての頂点に到達済みならば終了、そうでなければ2へ

[実装例]
[[0072&gt;[aoj]0072]]にて使用

  q.push(node(0,0));                    //始点として頂点0を取る、コストは0
  while(!q.empty()){
    node tmp = q.top(); q.pop();
    if(used[tmp.num] == true) continue; //popしたvが到達済みなら捨てる
    used[tmp.num] = true;               //到達済みにする
    ret += tmp.cost;                    //コストを加える
    for(int i=0;i&lt;n;i++){
      if(cost[tmp.num][i] != INF){      //加えた頂点から到達可能な頂点と、そのコストをPQにpush
	q.push(node(cost[tmp.num][i], i));
      }
    }
  }    </description>
    <dc:date>2011-06-19T00:51:00+09:00</dc:date>
    <utime>1308412260</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/isa_rentacs/pages/32.html">
    <title>C++ Tips</title>
    <link>https://w.atwiki.jp/isa_rentacs/pages/32.html</link>
    <description>
      ***Vectorのcopy
std::copy(w.begin(), w.end(), back_inserter(v));

***priority_queueの要素に構造体等を指定する方法
挿入したいstructを
 struct node{
   int cost, num;
   node(int c, int n): cost(c), num(n){}
   bool operator &gt;(const node &amp;e) const{
     return cost &gt; e.cost;
   }
 };
とする。ここでソート基準となるoperator&gt;を書いておく。
あとは
 priority_queue&lt;node, vector&lt;node&gt;, greater&lt;node&gt; &gt; q;
とすればおk。greaterを指定するとoperator&gt;の逆順(昇順)になる。
priority_queueはdefaultで昇順なのでそれに合わせておいたほうがいいかも。

***n次元配列へのstd::fill
例だけ。
 int field[n][n];
 std::fill((int *)field, (int *)field+n*n, 12345);
とすればよい。    </description>
    <dc:date>2011-06-19T00:44:29+09:00</dc:date>
    <utime>1308411869</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/isa_rentacs/pages/45.html">
    <title>[aoj]0072</title>
    <link>https://w.atwiki.jp/isa_rentacs/pages/45.html</link>
    <description>
      #include &lt;iostream&gt;
#include &lt;queue&gt;
#include &lt;cstring&gt;
#include &lt;algorithm&gt;

using namespace std;

#define INF 1&lt;&lt;30

struct node{
  int cost, num;
  node(int c, int n): cost(c), num(n){}
  bool operator &gt;(const node &amp;e) const{
	return cost &gt; e.cost;
  }

};

int main(void){
  int n;
  int m;
  int n1,n2,c;

  while(1){
	cin &gt;&gt; n;
	if(n == 0) break;

	bool visited[n];
	memset(visited, false, sizeof(visited));
	int cost[n][n];
	fill((int *)cost, (int *)cost+n*n, INF);
	bool used[n];
	fill(used, used+n, false);
	priority_queue&lt;node, vector&lt;node&gt;, greater&lt;node&gt; &gt; q;
	int ret=0;

	cin &gt;&gt; m;

	for(int i=0;i&lt;m;i++){
	  cin &gt;&gt; n1; cin.ignore();
	  cin &gt;&gt; n2; cin.ignore();
	  cin &gt;&gt; c;

	  cost[n1][n2] = c / 100 - 1;
	  cost[n2][n1] = c / 100 - 1;	
	}
	q.push(node(0,0));
	while(!q.empty()){
	  node tmp = q.top(); q.pop();
	  //cout &lt;&lt; &quot;poped: from &quot; &lt;&lt; tmp.num &lt;&lt; &quot; cost &quot; &lt;&lt; tmp.cost &lt;&lt; endl;

	  if(used[tmp.num] == true) continue;
	  used[tmp.num] = true;
	  ret += tmp.cost;

	  for(int i=0;i&lt;n;i++){
		if(cost[tmp.num][i] != INF){
		  q.push(node(cost[tmp.num][i], i));
		}
	  }
	}
	cout &lt;&lt; ret &lt;&lt; endl;
  }	
}    </description>
    <dc:date>2011-06-19T00:33:50+09:00</dc:date>
    <utime>1308411230</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/isa_rentacs/pages/2.html">
    <title>メニュー</title>
    <link>https://w.atwiki.jp/isa_rentacs/pages/2.html</link>
    <description>
      **メニュー
-[[トップページ]]
-[[プラグイン紹介&gt;プラグイン]]
-[[まとめサイト作成支援ツール]]
-[[メニュー]]
-[[メニュー2]]

----
#twitter_badge{{
&lt;script&gt;
new TWTR.Widget({
  version: 2,
  type: &#039;profile&#039;,
  rpp: 4,
  interval: 6000,
  width: 250,
  height: 300,
  theme: {
    shell: {
      background: &#039;#333333&#039;,
      color: &#039;#ffffff&#039;
    },
    tweets: {
      background: &#039;#000000&#039;,
      color: &#039;#ffffff&#039;,
      links: &#039;#4aed05&#039;
    }
  },
  features: {
    scrollbar: false,
    loop: false,
    live: false,
    hashtags: true,
    timestamp: true,
    avatars: false,
    behavior: &#039;all&#039;
  }
}).render().setUser(&#039;Isa_rentacs&#039;).start();
&lt;/script&gt;}}
----
**リンク
-[[@wiki&gt;&gt;http://atwiki.jp]]
-[[@wikiご利用ガイド&gt;&gt;http://atwiki.jp/guide/]]

// リンクを張るには &quot;[&quot; 2つで文字列を括ります。
// &quot;&gt;&quot; の左側に文字、右側にURLを記述するとリンクになります


//**更新履歴
//#recent(20)

&amp;link_editmenu(text=ここを編集)    </description>
    <dc:date>2011-06-16T23:56:30+09:00</dc:date>
    <utime>1308236190</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/isa_rentacs/pages/1.html">
    <title>トップページ</title>
    <link>https://w.atwiki.jp/isa_rentacs/pages/1.html</link>
    <description>
      -[[AOJ&gt;AOJ]]
-[[Topcoder]]
-[[Algorithm]]    </description>
    <dc:date>2011-06-16T23:43:21+09:00</dc:date>
    <utime>1308235401</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/isa_rentacs/pages/44.html">
    <title>[aoj]0040</title>
    <link>https://w.atwiki.jp/isa_rentacs/pages/44.html</link>
    <description>
      #include &lt;iostream&gt;
#include &lt;string&gt;
#include &lt;sstream&gt;
#include &lt;vector&gt;

using namespace std;

string encrypt(string str, int alpha, int beta){
  int size = str.size();
  string ret = &quot;&quot;;

  for(int i=0;i&lt;size;i++){
	if(&#039;a&#039; &lt;= str[i] &amp;&amp; str[i] &lt;= &#039;z&#039;){
	  ret += (alpha * (str[i] - &#039;a&#039;) + beta) % 26 + &#039;a&#039;;
	}
  }

  //cout &lt;&lt; str &lt;&lt; &quot; is encrypted to: &quot;&lt;&lt; ret &lt;&lt; endl;
  return ret;
}

int main(void){
  string thiss(&quot;this&quot;);
  string that(&quot;that&quot;);
  int n;

  cin &gt;&gt; n;
  cin.ignore(); //CR+LF
  for(int i=0;i&lt;n;i++){
	vector&lt;string&gt; strv;
	string str, tmp;
	getline(cin, str);
	int numwords;
	istringstream iss(str);
	int alpha, beta;
	bool decided = false;

	decided = false;
	while(iss &gt;&gt; tmp){
	  strv.push_back(tmp);
	}
	numwords = strv.size();

	for(int j=0;j&lt;numwords;j++){
	  /* test */
	  //cout &lt;&lt; &quot;checking: &quot; &lt;&lt; strv[j] &lt;&lt; endl;
	  /* */
	  if(strv[j].size() == 4){
		if(strv[j][0] == strv[j][3]){// strv[j] is a candidate of that
		  //cout &lt;&lt; &quot;candidate of that&quot; &lt;&lt; endl;
		  beta = strv[j][2] - &#039;a&#039;;
		  //cout &lt;&lt; &quot;beta is &quot; &lt;&lt; beta &lt;&lt; endl;
		  //calc alpha
		  int k=0;
		  while(strv[j][0] - &#039;a&#039; +k*26 &lt; beta || (k*26 + strv[j][0] - &#039;a&#039; - beta) % 19 != 0){ // 19 == t
			k++;
		  }
		  alpha = (k*26+(strv[j][0] - &#039;a&#039; - beta)) / 19;
		  //cout &lt;&lt; &quot;alpha is &quot; &lt;&lt; alpha &lt;&lt; endl;
		  string encrypted = &quot;&quot;;
		  encrypted = encrypt(&quot;that&quot;, alpha, beta);
		  if(strv[j] == encrypted){
			decided = true;
		  }
		}else{// strv[j] is a candidate of this
		  //cout &lt;&lt; &quot;candidate of this&quot; &lt;&lt; endl;
		  tmp = strv[j];
		  if(tmp[0] &lt; tmp[3]) tmp[0] += 26;
		  alpha = tmp[0] - tmp[3];
		  //cout &lt;&lt; &quot;alpha is &quot; &lt;&lt; alpha &lt;&lt; endl;
		  if(tmp[3] - &#039;a&#039; &gt;= alpha * 18 % 26){
			beta = tmp[3] - &#039;a&#039; - alpha * 18 % 26;
		  }else{
			beta = tmp[3] - &#039;a&#039; + 26 - alpha * 18 % 26;
		  }
		  //cout &lt;&lt; &quot;beta is &quot; &lt;&lt; beta &lt;&lt; endl;
		  string encrypted = encrypt(&quot;this&quot;, alpha, beta);
		  if(strv[j] == encrypted){
			decided = true;
		  }
		}
	  }
	  if(decided) break;
	}

	//decrypt
	for(int j=0;j&lt;str.size();j++){
	  int k=0;
	  if(&#039;a&#039; &lt;= str[j] &amp;&amp; str[j] &lt;= &#039;z&#039;){
		while(str[j]-&#039;a&#039; + k*26 &lt; beta || (k*26 + str[j] - &#039;a&#039; - beta) % alpha != 0) k++;
		str[j] = ((k*26 + str[j] - &#039;a&#039; - beta) / alpha) + &#039;a&#039;;
	  }
	}
	cout &lt;&lt; str &lt;&lt; endl;
  }

  return 0;
}    </description>
    <dc:date>2011-06-16T23:35:09+09:00</dc:date>
    <utime>1308234909</utime>
  </item>
    <item rdf:about="https://w.atwiki.jp/isa_rentacs/pages/43.html">
    <title>[aoj]0039</title>
    <link>https://w.atwiki.jp/isa_rentacs/pages/43.html</link>
    <description>
      #include &lt;iostream&gt;
#include &lt;string&gt;

using namespace std;

int getvalue(char c){
  if(c == &#039;I&#039;){
	  return 1;
	}else if(c == &#039;V&#039;){
	  return 5;
	}else if(c == &#039;X&#039;){
	  return 10;
	}else if(c == &#039;L&#039;){
	  return 50;
	}else if(c == &#039;C&#039;){
	  return 100;
	}else if(c == &#039;D&#039;){
	  return 500;
	}else if(c == &#039;M&#039;){
	  return 1000;
	}
  return -1;
}

int parseStr(string str){
  int ret=0;
  int now;
  int next;

  for(int i=0;i&lt;str.size();i++){
	now = getvalue(str[i]);
	if(i != str.size() - 1){
	  next = getvalue(str[i+1]);
	}else{
	  next = -1;
	}
	
	if(now &gt;= next){
	  ret += now;
	}else{
	  ret += next - now;
	  i++;
	}
  }
  return ret;
}

int main(void){
  string tmp;

  while(cin &gt;&gt; tmp){
	cout &lt;&lt; parseStr(tmp) &lt;&lt; endl;
  }
  
  return 0;
}    </description>
    <dc:date>2011-06-16T23:34:35+09:00</dc:date>
    <utime>1308234875</utime>
  </item>
  </rdf:RDF>
