トップ  一覧  単語検索  最終更新  バックアップ  ヘルプ 

#navi(個人ページ)
**メモ表作成&発言数解析 [#ncce7468]
 print "<html><head><style>td{font-size:x-small;}</style></head><table><tr><td>\n";
 @data = <DATA>;
 chomp @data;
 $i = $#data;
 while($i-- > 0){
 	last if $data[$i] eq 'ブラウザの更新ボタンは押さないでください';
 }
 while(1){
 #	last if $data =~ m/◆ アナ\x83\^の情報/;
 	$i++;
 	last if $data[$i] =~ m/◆ 出来事/;
 	last if $data[$i] =~ m/◆ 行動設定/;
 	next unless $data[$i] =~ m/ [\t ](.*)/;
 	next if $1 eq '';
 	$who = $1;
 	$id++;
 	$who[$id] = $1;
 	$id{$who} = $id;
 	$tmp1 .= "占CO\x81\@$1さん○<br />\n";
 	$tmp2 .= "_/$1\x81\@<br />\n";
 	unless($id % 5){
 		$tmp1 .= "<br />\n";
 		$tmp2 .= "<br />\n";
 	}
 
 	$i++;
 	$data[$i] =~ m/\x81\x69(.*)\x81\x6a/;
 	if($1 eq '生存中'){
 #		print STDERR "【$1/$data[$i]】\n";
 		$say{$who} = 0;
 		$time{$who} = 0;
 	}else{
 #		print STDERR "■$1/$data[$i]■\n";
 	}
 }
 &print_menbers();
 $who='?';
 while($i++ <= $#data){
 	if($data[$i] =~ /^◆(.*?)さん\t「(.*)」$/){
 		$who = $1;
 		$time{$who}++;
 		$say{$who} += length $2;
 		$text{$who} .= "$2\n";
 	}elsif($data[$i] =~ /^◆(.*?)さん\t「(.*)/){
 		$who = $1;
 		$time{$who}++;
 		$say{$who} += length $2;
 		$text{$who} .= "$2\n";
 	}elsif($data[$i] =~ m#^\s*\d+日目の朝となりました。\(\d+/\d+/\d+ \d+:\d+:\d+\)#){
 		$say{$who} -= 3;
 		last;
 	}elsif($data[$i] eq ' 戻る '){
 		$say{$who} -= 3;
 		last;
 	}else{
 		if($data[$i+1] =~ /^◆(.*?)さん\t「/ and $data[$i] =~ /(.*)」/){
 			$say{$who} += length $1;
 			$text{$who} .= "$1\n";
 		}else{
 			$say{$who} += length $data[$i];
 			$text{$who} .= "$data[$i]";
 		}
 	}
 }
 delete $say{'?'},$time{'?'},$text{'?'};
 
 foreach$id(1..$#who){
 	$who = $who[$id];
 	print STDOUT "◆$say{$who}/$time{$who}=".int($time{$who} and $say{$who}/$time{$who}).".$who<br />";
 	$kansute .= "  $who" if $time{$who} == 0;
 	$ohasute .= "  $who" if $time{$who} == 1;
 	$other .= "  $who" if $time{$who} > 2;
 	print "<br />\n" unless $id % 5;
 }
 print STDOUT "</td></tr></table>\n";
 #print STDOUT "\n寡黙順  ", (join '  ', reverse @who), "◆完ステ◆$kansute", "◆おはステ◆$ohasute", "◆他◆\n";
 #print STDOUT "\n寡黙順  ", "◆完ステ◆$kansute ◆おはステ◆$ohasute ◆他◆\n\n";
 foreach$id(1..$#who){
 	print "<h5>$id $who[$id]</h5>\n<pre>$text{$who[$id]}</pre>";
 }
 sub print_menbers{
 	print STDOUT "$tmp1</td><td>";
 	print STDOUT "$tmp2</td><td>";
 }
 print STDOUT "</ul></html>\n";
 __DATA__

**投票分析 [#k02c0b6d]
 @data = <DATA>;
 chomp @data;
 $i = $#data;
 open TEST, ">./test.txt";
 while($i-- > 0){
 	last if $data[$i] eq '';
 }
 
 while(1){
 	$i++;
 #	last until($data =~ /(.*?)さん \d 票 投票先 → (.*)さん/;
 #	last until($data[$i] =~ /^(.*?)さん \d+ \x95\[ 投\x95\[先 → (.*)さん/);
 	last until($data[$i] =~ /^(.*?)さん\t\d+ \x95\[\t投\x95\[先 → (.*)さん/);
 	($a, $b) = ($1, $2);
 	$gyaku{$b} .= ($hyou{$a} eq '' ? "$a  ": "■$a  ") if $hyou{$a} ne $b;
 	$hyou{$a} = $b;
 	$time{$b}++;
 	$flag{$a}->{$b} = $flag{$b}->{$a} = 1;
 #	push @all, $a;
 }
 @all = sort keys %hyou;
 @who = sort {($time{$b} <=> $time{$a}) or ($hyou{$a} cmp $hyou{$b})} keys %gyaku;
 map{print STDOUT "▼$_  ←  $gyaku{$_}<br />\n"}@who;
 
 sub think{
 	my $number;
 	my $commer;
 	my $wolf;
 	my @all;
 	my $select;
 	my @select;
 	($number, $commer, $wolf, @all) = @_;
 	while(-1 < $#all){
 		my $select = shift @all;
 		unless($flag{$commer}->{$select}){
 			push @select, $select;
 		}
 	}
 #	print STDOUT "\ns/@select";
 	while(-1 < $#select){
 		my $select = (shift @select);
 		unless($flag{$commer}->{$select}){
 			if(0 < $number){
 				&think($number - 1, $select, [@$wolf, $select], @select);
 			}else{
 #				print TEST "\n@{$wolf} $select";
 				map{$wolf{$_}++;}(@$wolf, $select);
 			}
 		}
 	}
 }
 
 &think(8 - 1, '', '', @all); print STDOUT "\n";
 map{print STDOUT "◆$wolf{$_} $_"} sort {$wolf{$b} <=> $wolf{$a}}@all;
 print STDOUT "\n";exit;
 __DATA__
#navi(個人ページ)


トップ 一覧 検索 最終更新 バックアップ   ヘルプ   最終更新のRSS
PukiWiki 1.4.7 Copyright © 2001-2006 PukiWiki Developers Team[外部リンク]. License is GPL[外部リンク].
Based on "PukiWiki" 1.3 by yu-ji[外部リンク] Powered by PHP 5.3.3