公告版位
慘了
大概最近都沒機會顧這裡了
有點事... <- 麻煩

目前分類:ACM進度 (6)

瀏覽方式: 標題列表 簡短摘要

這題還蠻好玩的~

我用陣列來儲存積木的關聯

這樣只要迴圈找NULL值

就可以找到某個積木所在的那一疊中...最上方的積木

感覺很方便~XD

 

題目:

http://www.tcgs.tc.edu.tw/~sagit/luckycat/q101.htm

 

Code:

http://codepad.org/RjS2crAj#entry

Falcon 發表在 痞客邦 留言(2) 人氣()

所以~寫完一星題了!!!

雖然因為快寫完了所以到後面的寫的題目都有點急就章
不過~寫完了嘛~XD

接下來就要開始寫恐怖的二星題了~

加油~!!

總之~紀念一下

 

Falcon 發表在 痞客邦 留言(1) 人氣()

大概是昨天吧...喔~不! 是前天了

10/28那天 我終於寫20題ACM了~

整個人~非常的高興~XD

啦~這篇文沒有意義啦~

不看也罷

Falcon 發表在 痞客邦 留言(1) 人氣()

Jolly jumpers 這題...

我RE (Runtime Error) 了好幾回

問了學長之後才知道是陣列開太大的關係

因為狂吞RE心情有點浮躁

所以後來沒有把它弄得很整齊 ( 反正AC就好了的意思

 

#include<iostream>
using namespace std;
int n, num[2999], dif[2999], tem, flag;
int main()
{
 while(scanf("%d", &n) != EOF){
  memset(dif, 0, sizeof(dif));
  for(int i = 0; i < n; i++){
   scanf("%d", &num[i]);
  }
  flag = 0;
  for(int i = 1; i < n; i++){
   tem = abs(num[i] - num[i-1]);
   //printf("%d %d %d ---", num[i] ,num[i-1], tem);
   //printf(" %d %d\n", tem, dif[tem]);
   dif[tem - 1]++;
   if((tem >= n || tem < 1) || dif[tem - 1] != 1){
    printf("Not jolly\n");
    flag = 1;
    break;
   }
  }
  if(flag != 1)
   printf("Jolly\n");
 }
}

Falcon 發表在 痞客邦 留言(1) 人氣()


這是一開始自己寫的

#include
#include
#define LEN 10000
using namespace std;
char sen[LEN];
int temp = 0;
int main()
{
 while(fgets(sen, LEN, stdin)){
  for(int i = 0; i <= strlen(sen); i++){
   if(sen[i] == '"'){
    for(int j = strlen(sen); j > i; j--){
     sen[j + 1] = sen[j];
    }
    if(temp == 0){
     sen[i] = '`';
     sen[i+1]= '`';
                }else{
     sen[i] = '\'';
     sen[i+1]= '\'';
    }
    temp = (temp + 1) % 2;
    i++;
   }
  }
  for(int i = 0; i <= strlen(sen)-1; i++){
   printf("%c", sen[i]);
  }
 }
}

 這是後來看到別人的解說後寫的

#include
using namespace std;
int main()
{
 char letter;
 int temp = 0;
 while(scanf("%c", &letter)){
  if(letter == '"'){
   if(temp == 0) printf("``");
   else printf("\'\'");
   temp = (temp + 1) % 2;
  }else{
   printf("%c", letter);
  }
 }
}

Falcon 發表在 痞客邦 留言(0) 人氣()

#include
using namespace std;
int i, j;
int alg(int n)
{
 int times = 1;
 while(n != 1){
  (n % 2) ?  n = (3 * n) + 1: n /= 2;
  times++;
 }
 return times;
}
int main()
{
 while(scanf("%d%d", &i, &j) == 2 && i > 0 && j < 1000000){
  int temp = 0, max = 0, min = 0, max_times = 0;
  if(i > j){
   max = i;
   min = j;
  }else{
   max = j;
   min = i;
  }
  for(min; min <= max; min++){
   temp = alg(min);
   max_times < temp ? max_times = temp : 1;
  }
  printf("%d %d %d\n", i, j, max_times);
 }
}

Falcon 發表在 痞客邦 留言(0) 人氣()