Archive for 四月, 2008

SGU 346 — Snooker

Posted on 四月 21st, 2008.

Submit 327的时候看杨欢AC了这道题,于是也做这道题.结果发现太水了…
稍微对Snooker规则了解一些的人就能不看题做…就是根据场上形势看台面分值.
{ SGU 346; Snooker - sqybi’s code}//for my winstyprogram sgu346_sqybi;  var    a: array[1..7]of longint;    i, s: longint;    ch: char;
  begin    for i:=1 to 7 do read(a[i]);    readln;    read(ch);    case ch of      ‘N’: begin        s := a[1] * 8;        for i:=2 to 7 do          s := s + a[i] * i;      end;      ‘R’: begin        […]

Read Full Post | Make a Comment ( None so far )

SGU 327 — Yet Another Palindrome

Posted on 四月 21st, 2008.

很赞的状态压缩DP题目…用d[s={1, 0, 1, 0, …}, j, k]表示当前选择情况为s,最后一个选的字符串是j,j放在原先字符串的左边/右边(k=1 or 2)的最小长度.每次取出字符串放到以前放好的字符串前面,比如以前凑好的字符串是abcdcba,现在的字符串是dab,那么就把dab接到原先字符串的左边,就是dabcdcbad.预处理b[i, j, k, p],表示第i个字符串接在左边/右边,第k个字符串接在第i个字符串外面的左边/右边时伸出的最小长度.比如字符串i是abc,k是dab,那么b[i, 1, k, 1]就是1(只有一个d伸出来),而b[i, 1, k, 2]就是3(dab都要伸出来,没有重合部分).
细节方面有很多问题,首先是预处理要删除所有包含关系的字符串只保留最长的,这里如果有两个字符串一样长那么我原来的程序就一个都不会保留.还有预处理时,一个字符串自己生成回文串可能有正反两种情况,我搞错了(就是abc可能生成abcba和cbabc).另外输出结果的时候,print过程对于最中间字符串的处理也有些问题.经过hrm的精心调教和我努力的改程序(虽说代码是越改越恶心=.=),这道WA on test 8许久的题目终于AC了…hrm我爱死你了…
嗯…附代码…建议别看…会恶心死的.
{ SGU 327; Yet Another Palindrome - sqybi’s code - 状态压缩DP}//for my winstyprogram sgu327_sqybi;  const    nn = 14;    mm = 30;    unable = nn * mm * 100;  type    TStr = string[mm];
  var    n, […]

Read Full Post | Make a Comment ( None so far )

SPOJ 297 — Aggressive cows (CODE: AGGRCOW)

Posted on 四月 21st, 2008.

求最大值最小,快排+二分答案.水题,不写题解.
1Y了,比较兴奋.
此题正好练习二分答案.发现在SPOJ上看别人AC哪道就做哪道也不是难事…不过这道题才0.1分…
{ SPOJ 297; Aggressive Cows; AGGRCOW - sqybi’s code - 快排+二分答案}//for my winstyprogram aggrcow_sqybi;  const    nn = 100000;
  var    cases, times, n, m, max, l, r, mid, ans, i: longint;    a: array[1..nn]of longint;
  procedure qsort(l, r: longint);    var      i, j, d, t: longint;    begin      i := l;      j := r;      d := a[(l+r) […]

Read Full Post | Make a Comment ( None so far )

SPOJ 1163 — Java vs C++ (code: JAVAC)

Posted on 四月 21st, 2008.

挺水的题目,不过文字游戏有些多.题解没什么可写的.给几组数据,自己拍去吧.
刚开始WA了N多次,结果把seekEoF改成EoF就AC了.
数据:
输入n_e_e_r_cJAVAjAVAn__e_r_cbad_StyleBad_stylejava__anotherlong_and_mnemonic_identifieranotherExamplec_identifiern_e_e_r_cn__e_r_cnEER_ci_iIi
输出nEERCError!j_a_v_aError!Error!Error!Error!Error!longAndMnemonicIdentifieranother_examplecIdentifiernEERCError!Error!Error!
附代码.
{SPOJ 1163; Java vs C++; JAVAC- sqybi’s code}//for my winstyprogram javac_sqybi;  var    s, ss: string;    ch: char;    upper: array[’a’..’z’]of char;    lower: array[’A’..’Z’]of char;    f1, f2: boolean;    i, n: longint;
  begin    for ch:=’a’ to ‘z’ do begin      upper[ch] := upcase(ch);      lower[upcase(ch)] := ch;    end;
    while not EoF do begin      readln(s);      n := length(s);      if […]

Read Full Post | Make a Comment ( None so far )

SPOJ 1476 — Maximum Profit (code: PROFIT)

Posted on 四月 21st, 2008.

同NOI06最大获利,多组数据.
程序略.
阅读(143 次)

Read Full Post | Make a Comment ( None so far )

« Previous Entries Next Entries »

Liked it here?
Why not try sites on the blogroll...