【会津】パソコン甲子園2004【若松】

■ このスレッドは過去ログ倉庫に格納されています
NGNG
今日プログラミング部門の予選が行われましたが
手応えはどうでしたか?

http://www.pref.fukushima.jp/pc-concours/
16664
垢版 |
NGNG
>>165
梅の味がする銘菓 (のようなもの
ベビースターラーメン一箱
など。

あと、ブログの中のメダル写真はなんとなく豪華ですね。
16762
垢版 |
NGNG
今帰ってきたよ・・・玉砕。
でも皆すごかった!お疲れ様です。



大阪の子に間違えたメールアドレス教えちゃった・・・orz あ〜あ。
NGNG
そういえば予選のアフィン暗号の解法が分からんっていってた人いる?
16986
垢版 |
NGNG
ぷぅ〜。。。つかれた。
たのしかったよ。
NGNG
いないのかぁ〜解説しようと思ったのに
171160
垢版 |
NGNG
168さん教えて!
ところで言語はなんですか?
17264
垢版 |
NGNG
>>168
漏れも解説キボンヌ
よければBASIC以外で
NGNG
/*
アフィン暗号を解くプログラム
入力文字列から this と that の候補を抽出し,
それを片っ端から復号してみて this か that
になるまで続ける.
*/
#include <stdio.h>
#include <string.h>
#include <stdlib.h>

/* 最大文字列長 兼 最大単語数 */
#define MAXWORD 256

/* 入力単語とその長さ */
char *word[MAXWORD];
int n_word;

/* "this" の候補とその長さ */
int n_this;
char *this[MAXWORD];

/* "that" の候補とその長さ */
int n_that;
char *that[MAXWORD];
NGNG
/* 文字列s の b文字目からe文字目が全部異なる
 文字からできているかどうか */
int all_different(char *a, int b, int e)
{
int i,j;
for (i = b; i < e; i++) {
for (j = i+1; j <= e; j++) {
if (a[i] == a[j])
return 0;
}
}
return 1;
}

/* 4文字全部異なっていれば this の候補 */
#define IS_THIS(a) all_different(a,0,3)
/* 最初の3文字が異なり,最初の文字=最後の文字であれば that の候補 */
#define IS_THAT(a) (all_different(a,0,2)&&(a)[0]==(a)[3])
NGNG
うわ,インデントが消えちゃう
NGNG
/* 単語の読み込み */
void
readword()
{
int i;
char buf[MAXWORD];

i = 0;
while (i < MAXWORD && scanf("%s",buf) == 1) {
word[i++] = strdup(buf);
}
n_word = i;
}
NGNG
/* 入力文字列 in をアフィン暗号で変換 */
void affine(char *in, int len, int alpha, int beta)
{
int i;
for (i = 0; i < len; i++)
in[i] = ((in[i]-'a')*alpha+beta)%26+'a';
}

/* 入力文字列をアフィン暗号で変換したら ref になるかどうか */
int affine_test(char *in, int len, int alpha, int beta, char *ref)
{
char buf[MAXWORD];
strcpy(buf,in);
affine(buf,len,alpha,beta);
//printf("a=%d b=%d %s -> %s\n",alpha,beta,in,buf);
return strcmp(buf,ref)==0;
}
NGNG
/* 入力文字列から this と that の候補を抽出 */
void
check_input()
{
int i;
for (i = 0; i < n_word; i++) {
int len = strlen(word[i]);
if (len != 4)
continue;
if (IS_THIS(word[i]))
this[n_this++] = word[i];
else if (IS_THAT(word[i]))
that[n_that++] = word[i];
}
}
NGNG
/* アフィン暗号を解く */
/*
考えられるすべての *alpha, *beta について入力にアフィン暗号
変換を施し,this または that の候補が複合できたところで止まる.
そのときの alpha, beta の値が返される.
*/
NGNG
void
solve_affine(int *alpha, int *beta)
{
int i;

for (*alpha = 1; ; (*alpha)++) {
/* alpha が26と共通の素因数を持つ場合はスキップ */
if (*alpha % 2 == 0 || *alpha % 13 == 0)
continue;

/* ここではbetaを振っているが,入力単語の最初の文字を
t に変換するbetaはalphaに対して一意に決まるので,
それを求めたほうが速く解ける.ここではプログラミングの
時間がなかったので単純な方法を使った. */
for (*beta = 0; *beta < 26; (*beta)++) {
for (i = 0; i < n_this; i++) {
if (affine_test(this[i],4,*alpha,*beta,"this"))
return;
}
for (i = 0; i < n_that; i++) {
if (affine_test(that[i],4,*alpha,*beta,"that"))
return;
}
}
}
}
NGNG
int
main()
{
int alpha, beta;
int i;

readword();
check_input();
solve_affine(&alpha, &beta);
//printf("alpha=%d beta=%d\n",alpha,beta);
for (i = 0; i < n_word; i++) {
affine(word[i],strlen(word[i]),alpha,beta);
printf("%s",word[i]);
if (i < n_word-1)
putchar(' ');
}
putchar('\n');
return 0;
}
NGNG
以上です.
コピペしてオートインデントかけてちょ.
183デフォルトの名無しさん
垢版 |
NGNG
時間が無いときはこのくらいでもいいと思う。

#include <stdio.h>
#include <string.h>
void main()
{
  int a,b,n,len;
  char s[1024],buf[1024];
  len = strlen(gets(s));
  for(a=0;;a++)
  {
    if(a%2==0||a%13==0)
      continue;
    for(b=0;b<26;b++)
    {
      for(n=0;n<len;n++)
        if(s[n] != ' ')
          buf[n] = ((s[n]-'a')*a+b)%26+'a';
      if(strstr(buf,"this")||strstr(buf,"that"))
      {
        puts(buf);
        return;
      }
    }
  }
}
NGNG
      for(n=0;n<len;n++)
        if(s[n] != ' ')
          buf[n] = ((s[n]-'a')*a+b)%26+'a';
のあとに
        else
          buf[n] = ' ';
を追加
NGNG
さあ次はどれだ
186デフォルトの名無しさん
垢版 |
NGNG
本選の問題050の解説おながいします。
NGNG
遅くなりますた。
050の問題は最小全域木問題だよ。
Kruskal のアルゴリズムを使うとこんな感じ。
NGNG
#include <stdio.h>
#include <stdlib.h>

#define MAX_SITE 1000
#define MAX_EDGE (MAX_SITE*(MAX_SITE-1)/2)

struct edge {
 int from;
 int to;
 int length;
};

struct edge Path[MAX_EDGE];
int N_path;

int SiteSet[MAX_SITE];
int N_site;

int cmp_int(struct edge *x, struct edge *y)
{
 return x->length - y->length;
}
NGNG
int
main()
{
 int i,j,f_no,t_no;
 int pathlen = 0;
 FILE *f;

 f = fopen("050.csv","r");
 fscanf(f,"%d",&N_site);
 i = 0;
 while (fscanf(f,"%d,%d,%d",&Path[i].from,&Path[i].to,&Path[i].length) == 3)
  i++;
 N_path = i;
 fclose(f);

NGNG
i qsort(Path,N_path,sizeof(struct edge),cmp_int);
 for (i = 0; i < N_site; i++)
  SiteSet[i] = i;
 for (i = 0; i < N_path; i++) {
  if (SiteSet[Path[i].from] != SiteSet[Path[i].to]) {
   f_no = SiteSet[Path[i].from];
   t_no = SiteSet[Path[i].to];
   for (j = 0; j < N_site; j++) {
    if (SiteSet[j] == t_no)
     SiteSet[j] = f_no;
   }
   pathlen += Path[i].length;
  }
 }
 printf("%d\n",pathlen/100);
  return 0;
}
NGNG
 qsort(Path,N_path,sizeof(struct edge),cmp_int);
 for (i = 0; i < N_site; i++)
  SiteSet[i] = i;
 for (i = 0; i < N_path; i++) {
  if (SiteSet[Path[i].from] != SiteSet[Path[i].to]) {
   f_no = SiteSet[Path[i].from];
   t_no = SiteSet[Path[i].to];
   for (j = 0; j < N_site; j++) {
    if (SiteSet[j] == t_no)
     SiteSet[j] = f_no;
   }
   pathlen += Path[i].length;
  }
 }
 printf("%d\n",pathlen/100);
  return 0;
}
NGNG
うわ、2回送信しちゃった
NGNG
ちょっと間違い。

   pathlen += Path[i].length;



   pathlen += Path[i].length-1;

だね。
NGNG
>>187-193
丁寧な解説ありがとうございます
意外とソースが簡潔なんでおどろきますた
漏れもまだまだだなぁ
NGNG
ASCII24に甲子園の記事ありまつ
NGNG
>>195
わりとあっさりめだったね。
関係者が審査員だったんだから特集ぐらい組んでくれても良いのに。
19784
垢版 |
NGNG
今日発売の週刊アスキーにも載ってたよ(`・ω・´)

>>196
特集組むたってCG部門はともかく
プログラミング部門は・・・ねぇ
NGNG
失敗した…
持って帰ることを考えてなかった…orz
199デフォルトの名無しさん
垢版 |
NGNG
大阪(西梅田)、新宿(JR駅前)のそれぞれ一等地に
拠点を構えるソフトウェア開発会社
グリーンシステムを応援するHPです。
http://www.geocities.jp/grs_hp/

こちらのスレの住人のかたがたのようなレベルの高いかたに
ピッタリだと思いますので、是非一度ご覧下さい。

NGNG
>>197
見てきたけど小さい記事だったなぁ
回を重ねるごとに認知度も上がっていくことを願う
20184
垢版 |
NGNG
今日の笑ってこらえてで、
甲子園の旅ってのがあったけど
一瞬だけパソコン甲子園のポスター出ましたな

結局ファッション甲子園の特集だったけどorz
NGNG
賞品はやくキボンヌ
NGNG
賞品なんてねぇよウワァァ━━━━━。゚(゚´Д`゚)゚。━━━━━ン!!!!
204デフォルトの名無しさん
垢版 |
NGNG
もしかしたらT梨か?
間違ってるぞ。
205デフォルトの名無しさん
垢版 |
NGNG
20684
垢版 |
NGNG
>>204
T梨じゃないけど、そこまで名前出しますかw
問題解いたのは選手の高校生でしょ
207デフォルトの名無しさん
垢版 |
NGNG
ごめん…
208デフォルトの名無しさん
垢版 |
NGNG
大会風景うpキター
NGNG
キタ━━━━━━(゚∀゚)━━━━━━ッ!
210デフォルトの名無しさん
垢版 |
NGNG
http://www.pref.fukushima.jp/pc-concours/2004hon/2004top.htm
211デフォルトの名無しさん
垢版 |
NGNG
やっぱ青森の子好き〜
NGNG
あぁ
パソコンの中で甲子園やるのかとおもた
NGNG
隠しページハーケン
NGNG
http://headlines.yahoo.co.jp/hl?a=20041218-00000063-mai-soci
NGNG
本に載るらしいね
NGNG
日経ソフトウェアにのってるっぽい
05/01/20 23:43:09
会津大学において公開講座「高校生のためのアルゴリズムとプログラミング」が開催されます
05/01/21 21:28:13
俺もえいづの生まれだ、誤解も多いが
05/01/22 10:12:26
来いって?
220デフォルトの名無しさん
垢版 |
05/01/31 00:27:11
じゃあいくかw

05/02/28 18:27:50
ttp://www.pref.fukushima.jp/pc-concours/
パソコン甲子園2005
ホームページを更新しました。(3.1)


プログラミング部門

予選は各学校において、平成17年9月3日(土)午前10時〜正午(全国一斉)に予選を行います。
事前に送付する難易度の異なる全20問の問題に対する解答プログラムを作成

本選出場20チーム
全てのチームが本選会場に一堂に会し競技を行います。
難易度の異なる全30問の問題を制限時間4時間で解く、得点形式の競技です。
最も高い点数を獲得したチームがグランプリとなります。


デジタルコンテンツ部門

テーマ「21世紀の大発明・大発見!」
    21世紀が幕を開けて5年、これからも人類はどんどん進歩し、さらには人々のあくなき探求心と挑戦により、今世紀もあっと驚くような大発明や大発見があることでしょう。
今世紀は、あと90年以上残っていますが、今世紀を代表する大発明や大発見を、あなた自身の発想で創作してください。そして、それをみんなの前で発表しましょう。
05/02/28 18:30:46
P部門の問題数、さらに減ったね。
05/03/01 17:47:11
30で丁度良いと思われ。去年も30以上解けてた学校あったか?
05/03/01 20:48:25
ないねぇ、1位でも20くらいだろう
225デフォルトの名無しさん
垢版 |
05/03/03 00:46:46
なんで何十問もあってそれしか解けないんだ?
高校生のレベルが低いのか?
05/03/03 11:03:40
 __ _________
      r | |――┐  r――  ヽ    ブーン
      L.! !__./⌒ヽ Li__   \
       ._| | / ^ω^) ||____    \_              (~ヽ       .. .
     (_| | |   /⊃⌒ヽ i     \)         /⌒ヾ .\\_   :・:∵:
        \ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄ ̄"''' - ..,,  人 /⌒ヾ / \\ヽ∴: >>225
      _  \_/⌒ヽ________/⌒ヽ  て   / ノテ-ヽ( 。Д。)二二つ
        ヽ      _ノ r―――─―――┐ _ノ ドカッ/ / /   ∨ ̄∨
         |  ____| 三三三三三三三.|__l__    / / | |
      | ._|--[_______________] / __) ノ )
     ノ.|  |    ===========[___]======='   ー'    し'
   ヽ_ノ_ノ               ヽ__ノ_ノ



プログラミング技術というよりも数学的な論理思考が必要なんだよ。
20問解いたなら12分/1問のペースで作成・提出しなければいけない。

制限時間4時間の中で問題数こなすことが大変つーことくらいわかるだろうが。
05/03/03 14:13:21
>>225
実際20問といても簡単な問題(10点)だけだと去年は4位ですよ。
05/03/03 14:16:33
回答時間もふるいの手段かもしれないが、ツマンナイね。
入試問題みたい。
229デフォルトの名無しさん
垢版 |
05/03/05 23:51:38
>>226
3人でやるんでしょ?
1問12分で解けるんだったら、3人×20問で60問になると思うけど・・・

難しいので1問あたり何分で解けるんでしょ?
05/03/05 23:58:51
パソコンは1台しか与えられないからなぁ。
12分で打ち込んでコンパイルして…かなり効率よくやらなければ難しいかな。
05/03/06 16:07:18
>>229
難しいのは40分くらいかな。
いまだに解けてないものもあるし。
2005/05/15(日) 20:13:37
>>187の解答ですが、コンパイルして実行すると
25になります。
ホームページの解答では23になってました。
どちらが、正しいのですか?
お願いします。(^_^;)
233デフォルトの名無しさん
垢版 |
2005/06/07(火) 23:58:14
参加者あまりいないみたいだね。
http://www.pref.fukushima.jp/pc-concours/2005hp/05uketuke.html
234デフォルトの名無しさん
垢版 |
2005/06/08(水) 23:06:08
>>233
だな。
部の動向次第では俺も出るかもしれない。

てか、今年もこのスレでいいのか?
235デフォルトの名無しさん
垢版 |
2005/06/13(月) 19:52:50
このスレはプログラム技術掲示板だからね。
二つの部門があるとするとカテ違いのような気がする。

新しいスレを建てたほうがいいと思うが、どこがいいのか・・・。

デジタルコンテンツ部門でれるかも。
2005/06/18(土) 21:04:06
スパコンも2004のままだしいいんじゃねぇの。。
2005/06/21(火) 20:57:03
そういうことで

しかし参加チーム数が少ないな。
238デフォルトの名無しさん
垢版 |
2005/06/21(火) 22:06:58
プログラ定員割れで全員本戦出場

だといいんだけど
2005/07/03(日) 22:59:20
様子見じゃろ。きっと
240デフォルトの名無しさん
垢版 |
2005/07/07(木) 23:39:45
やっと参加者が増えてきたね

こんなの見つけた

http://www.e-land.jp/modules/weblinks/singlelink.php?lid=135

http://hp.vector.co.jp/authors/VA039760/pckoshien/pcindex.htm
2005/07/08(金) 20:10:35
問題の解説しているサイトとか無いかな?
できればCかC++で
2005/07/12(火) 00:11:37
PC持ち込みさせろ〜。
審査員の目の前でクリーンインストールするから。
2005/07/23(土) 19:56:34
去年の予選通過は何点?
あとvimとかの持込は可能?
2005/07/23(土) 21:54:58
予選通過点は公開されてない気がする。
私が参加したときには本選での持込だめだった。
予選ではやり放題かも。
245sage
垢版 |
2005/07/24(日) 22:53:36
けっこう簡単なんじゃ…。
http://www.pref.fukushima.jp/pc-concours/2005hp/renraku_pg01.html
これくらいなら取れそうだね。
2005/07/25(月) 17:03:32
この2chにスレができた以上はかなりレベルアップするからそう簡単ではないかと。
2005/07/25(月) 23:31:22
2chが関係あるのか?
2005/07/27(水) 13:21:55
一応、このスレが宣伝にはなってる気がする。
このスレ見て参加、って人も多いんじゃないかな

かくいう俺もその一人w
2491
垢版 |
2005/07/28(木) 22:27:34
このスレを見て参加してくれる人がいるのはありがたいことです。
今年は受験生なので参加できませんが、部活の後輩をだします。
みなさんがんばってください。
2005/07/30(土) 08:54:59
29日到着しそうな感じで郵送したら
昨日更新されなくてドキドキハラハラ
251デフォルトの名無しさん
垢版 |
2005/08/01(月) 22:43:27
ずいぶん応募あったね
2005/08/01(月) 22:46:08
今年の10位は何点でつか?
>>246-248の関係で
ちょっとレベルうpして60点と見た!
253デフォルトの名無しさん
垢版 |
2005/08/01(月) 23:04:39
予選は9月だよ
2005/08/02(火) 00:21:49
皆さんの顔をデジカメで撮ってバッチリ晒しますからw
255デフォルトの名無しさん
垢版 |
2005/08/02(火) 02:43:29
>>254
どうせ公式で晒されるしな('A`)
2005/08/02(火) 13:39:04
>>252
昨年と同じくらいの難易度であれば、
60点はありえないw

昨年の予選問題解いてみたが、大して難しくもない
なのに、40点で本戦出場できるのか不思議なくらいだ・・・・


少なくともこの板に来るような奴なら60点くらい余裕だろ?w >>256
257256
垢版 |
2005/08/02(火) 13:39:44
うはwミスったorz
>>256>>257なw
258256
垢版 |
2005/08/02(火) 13:40:43
・・・
暑さでやられたかな( ´∀`)

もうだめぽ
259252
垢版 |
2005/08/02(火) 14:32:04
>>256-258
に会ってみたいと思った。
ぜひ予選突破しようではないかw(たぶん余裕だけど)
2005/08/02(火) 21:16:12
去年4点だった俺らをなめるなよ。

自分でもショックです…。プログラムは好きだけど得意じゃない…。
2005/08/04(木) 01:51:36
今年、初めて出場するのですが、とても不安です。
テンパって少ししか解けなかったなんて結末は悲しすぎる・・・。
どんな難易度の問題がくるかも分からないし。
動作確認をやるのに時間掛けてられないし、2時間で何問解けるか・・・。
やる気満々でけっこう早い時期に応募しちゃったから余計恥ずかしくて緊張するー。
2005/08/04(木) 13:50:19
>>261
そんなに緊張しないほうがいいよー
緊張したところで一利無し

PCの動作確認なら、時間前にやらせてもらえると思うけど・・・。
263デフォルトの名無しさん
垢版 |
2005/08/17(水) 13:30:37
若松は会津若松だけで十分。
戊辰戦争で会津藩が敗れ、新政府から九州の若松と被るからと言う理由だけで九州の若松より断然知名度があるにかかわらず会津を付け足されたのだ。
そして、賊民と言う理由で若松県を超田舎の福島県に編入させられてしまったのだ。

会津人はもとより、会津藩の兄弟とも言える江戸・東京都民も長州薩摩を恨まなければならない。
戊辰戦争で会津藩が勝っていれば、今の会津は大阪のポジションを勝ちえていたことは言うまでもない。
2005/08/17(水) 14:05:34
はい、わろすわろす
2005/08/17(水) 21:35:06
はいはいわろすわろす
■ このスレッドは過去ログ倉庫に格納されています
5ちゃんねるの広告が気に入らない場合は、こちらをクリックしてください。

ニューススポーツなんでも実況