青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品

很簡單的題,還以為是高精度計算,完全沒必要。只是數字后面的0要消掉,不過oj似乎有問題,n=8時末尾0沒有消,有點扯淡啊。
#include<stdio.h>
char rs[][15= 
{
    
"0 1",
    
"1 2",
    
"2 2.5",
    
"3 2.666666667",
    
"4 2.708333333",
    
"5 2.716666667",
    
"6 2.718055556",
    
"7 2.718253968",
    
"8 2.718278770",
    
"9 2.718281526"
}
;
int main()
{
    
int i;
    printf(
"n e\n");
    printf(
"- -----------\n");
    
for(i = 0; i < 10; i++)
        printf(
"%s\n", rs[i]);    
    
//getchar();
}

/*int nn(int n) 
{
    int i, sum = 1;
    for(i = 1; i <= n; i++)
        sum *= i;
    return sum;
}
double ii(int i)
{
    return 1.0 / nn(i);
}
int main()
{
    int i, j;
    double e;
    for(j = 0; j <= 9; j++)
    {
        e = 0.0;
        for(i = 0; i <= j; i++)
        {
            e += ii(i);
        }
        printf("%d %.9lf\n", j, e);
    }
    getchar();
}
*/



最簡單的方式就是先將結果按九位精度輸出,然后用字符串保存,輸出。注意二維字符數組的使用方式。
posted @ 2012-02-22 18:07 小鼠標 閱讀(181) | 評論 (0)編輯 收藏
老鼠與貓咪做交易,貪心算法,不斷選取單價最便宜的購買即可
#include<stdio.h>
#include
<stdlib.h>
#define MAX 10000
typedef 
struct 
{
    
float cm;
    
int j;
    
int f;
}
JF;
int cmp( const void *a, const void *b)
{
    JF 
*= (JF *)a;
    JF 
*= (JF *)b;
    
if(p -> cm > q -> cm)
        
return 1;
    
else 
        
return -1;
}

int main()
{
    JF jf[
1001];
    
float left, get;
    
int N;
    
int i, j;
    scanf(
"%f%d"& left, & N); 
    
while(N != -1)
    
{
        
for(i = 0; i < N; i++)//input && sort
        {
            scanf(
"%d%d"&jf[i].j, &jf[i].f);
            
if(jf[i].j != 0//j為商品,f為單價。j==0時單價高到無窮 
                jf[i].cm = 1.0 * jf[i].f / jf[i].j;
            
else
                jf[i].cm 
= MAX;
        }

        qsort(jf, N, 
sizeof(JF), cmp);
        
get = 0;//init
        for(i = 0; i < N && left > 0.0; i++)//trade
        {
            
if(left >= jf[i].f)
            
{
                left 
-= jf[i].f;
                
get += jf[i].j;
            }

            
else
            
{
                
get += jf[i].j * left / jf[i].f;
                left 
= 0.0;
            }

        }

        printf(
"%.3f\n"get);//out 
        scanf("%f%d"& left, & N); 
    }

}

 

1.需要注意的是邊界情況,j的輸入是可以為0的,這個時候可以將單價cm=f/j設為無窮大。
2.另外還要注意一些細節,結構體中將j、f設為int,cm為float,因此要將cm=1.0*f/j,否則cm的值會為0。
posted @ 2012-02-19 21:56 小鼠標 閱讀(276) | 評論 (0)編輯 收藏
前幾天自己寫了一個qsort函數,操作過程是選取第一個元素作為樞紐元,當時還為自己寫出了這個函數沾沾自喜,今天看了《數據結構與算法分析》中的快排分析才知道,我寫的代碼在極端情況下的時間復雜度為O(N^2)!說來慚愧啊,我立刻用了大小為十萬的已排序數組進行測試,結果不出所料,跟編譯器自帶的qsor函數效率就是天壤之別;當我用自己的排序函數對十萬個隨機數排序時效率就相差無幾了。哎,接著努力吧,小同志!
posted @ 2011-08-22 16:00 小鼠標 閱讀(519) | 評論 (1)編輯 收藏
這一題不算難,確定最大值容易,掃描一遍數組即可得,時間復雜度是O(N),結束的地方也好確定,隨著max更新就可以了。最難確定的是開始的界low,為此多花了不少冤枉時間!為了確定low,可以像確定high那樣再掃描一遍,不過這次要倒著掃描,從high開始,這兩個過程幾乎是對稱的。
#include<stdio.h>
#define M 100010
#define MIN 10000
int main()
{
    
int T,i;
    scanf(
"%d",&T);
    
for(i=1;i<=T;i++)
    
{
        
int N,low,high;
        
long max=-MIN,partsum=0;
        
int num[M];
        scanf(
"%d",&N);
        
int j;
        
for(j=0;j<N;j++)
            scanf(
"%d",&num[j]);      
        
for(j=0;j<N;j++)//正著掃描,確定上界high 
        {
            partsum
+=num[j];
            
if(partsum>max)
            
{
                max
=partsum;
                high
=j;
            }

            
if(partsum<0)
            
{
                partsum
=0;
            }

        }

        
int partsum2=0,max2=-MIN;//這一遍倒過來掃描,確定下界low 
        for(j=high;j>=0;j--)
        
{
            partsum2
+=num[j];
            
if(partsum2>=max2)
            
{
                max2
=partsum2;
                low
=j;
            }

            
if(partsum2<0)partsum2=0;
        }

        
if(j==0)low=0;
        printf(
"Case %d:\n",i);
        printf(
"%d %d %d\n",max,low+1,high+1);
        
if(i!=T)printf("\n");
    }

}
 

花了兩個多小時的時間,WA了5次,AC的那一刻實在很爽,相信這也是每個ACMer的原動力所在吧。
posted @ 2011-08-19 21:56 小鼠標 閱讀(211) | 評論 (0)編輯 收藏
關于這道題我不想多說,水滴題,最快的方式就是調用qsort()函數了,一點技術含量都沒有。不過要是能自己寫出qsort()函數就不是那么隨意了。
這道題我做了兩遍,第一次是調用qsort庫函數,感覺不過癮,所以自己又寫了一遍qsort函數。
#include<stdio.h>
#define M 1010
int main()

void sort(int num[],int low,int high)
{        
    
int po=low;//選取第一個元素為比較的初始值 
    int i=low,j=high,term;
    
if(high-low+1>=2)
    
{
    
while(i<=j)
    
{
        
for(;j>=i;j--)
        
{
            
if(num[j]<num[po])
            
{
                term
=num[po];
                num[po]
=num[j];
                num[j]
=term;
                po
=j--;
                
break;
            }

        }

        
for(;j>=i;i++)
        
{
            
if(num[i]>num[po])
            
{
                term
=num[po];
                num[po]
=num[i];
                num[i]
=term;
                po
=i++;
                
break;
            }

        }

    }

    sort(num,low,po
-1);//遞歸調用 
    sort(num,po+1,high);
    }

}


posted @ 2011-08-19 16:48 小鼠標 閱讀(200) | 評論 (0)編輯 收藏

進入學校實驗室也已有十八天,學長學姐都很熱心,知識講的不少,可這么多天過去了,就是感覺進步太小。今天又進行了一場比賽,八道題我只在最后30s時才搞定了一道,看看一起來的其他人,少則兩三道,多則四五道,我真是汗那??!

這樣下去也不是辦法,感覺整天都在跟著學長學姐們的步調走,而且還沒跟上,總感覺聽什么都很吃力。仔細想想,原來是沒有系統學習的緣故,前輩們講的固然很好,但都十分深奧,跳躍性強,什么動態規劃啊、最小生成樹啊、快速排序啊,雖然以后也一定要學,可對只剛學過C語言的人來說未免有些晦澀。當務之急最好找一本難度適宜的教材,從頭到尾看一遍,總比整天對著屏幕發呆好。

慢慢來吧,相信媛姐黨姐的水平將來我也會達到的,不急,畢竟一個月時間太短,學不了太多東西。最重要的是學會一種解題的思想,培養堅持的毅力,看著前輩們整天以刷題為樂,自己也仿佛若有所悟。正如黨姐第一節課所說的那樣:我來實驗室是為了什么,獎學金?證書?都不是,我們來這里是為了happy!

posted @ 2011-08-15 19:45 小鼠標 閱讀(273) | 評論 (2)編輯 收藏
最近花了五天時間把the C. programming language看了一遍,今天開始刷題。這道題講的是各處密鑰key和密文,已知加密公式,求出原文。題很水,只要把加密公式反過來就行了。
#include<stdio.h>
#include<string.h>
int main()
{
 void changetonum(char ci[],int len);
 void numtochar(char pl[],int len);
 int i,j,k;
 scanf("%d",&k);
 while(k!=0)
 {
  char ci[100],pl[100];
  int len;
  scanf("%s",ci);
  len=strlen(ci);
  changetonum(ci,len);
  for(i=0;i<len;i++)
  {
   pl[k*i%len]=(ci[i]+i)%28;
  }
  pl[i]='\0';
  numtochar(pl,len);
  puts(pl);
  scanf("%d",&k);
 }
}
void changetonum(char ci[],int len)
{  //該函數用于把密文轉化為數字
 int i;
 for(i=0;i<len;i++)
 {
  if(ci[i]>='a'&&ci[i]<='z')
  {
   ci[i]=ci[i]-'a'+1;
  }
  else if(ci[i]=='_')ci[i]=0;
  else if(ci[i]=='.')ci[i]=27;
 }
}
void numtochar(char pl[],int len)
{  //用于把解密后的數字轉化為原文
 int i;
 for(i=0;i<len;i++)
 {
  if(pl[i]>=1&&pl[i]<=26)pl[i]=pl[i]+'a'-1;
  else if(pl[i]==0)pl[i]='_';
  else if(pl[i]==27)pl[i]='.';
 }
}
要特別注意的是一定要用一個變量len記錄原字符串長度,因為在轉換過程中可能會出現0('_'對應的數字就是0),這樣的話調用strlen函數就無法得出正確的長度。
posted @ 2011-08-13 16:14 小鼠標 閱讀(282) | 評論 (0)編輯 收藏
僅列出標題
共13頁: First 5 6 7 8 9 10 11 12 13 
<2025年12月>
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910

常用鏈接

隨筆分類(111)

隨筆檔案(127)

friends

最新評論

  • 1.?re: 線段樹
  • 是這個樣子的,所以在OJ有時候“卡住”了也不要太灰心,沒準真的不是自己的原因呢。
    加油,祝你好運啦!
  • --小鼠標
  • 2.?re: 線段樹
  • 對于編程競賽來說,Java所需時間一般為C/C++的兩倍。合理的競賽給Java的時間限制是給C/C++的兩倍。
  • --傷心的筆
  • 3.?re: poj1273--網絡流
  • 過來看看你。
  • --achiberx
  • 4.?re: (轉)ubuntu11.10無法啟動無線網絡的解決方法
  • 膜拜大神。。查了一個下午資料終于在這里解決了問題。。神牛說的區域賽難道是ACM區域賽。。?
  • --Hang
  • 5.?re: 快速排序、線性時間選擇
  • 博主,謝謝你的文章。你的方法可以很好的處理分區基準在數組中重復的情況,書上的方法遇到這種輸入會堆棧溢出。書上給出了解釋但給的方法貌似不簡潔。
  • --lsxqw2004

閱讀排行榜

青青草原综合久久大伊人导航_色综合久久天天综合_日日噜噜夜夜狠狠久久丁香五月_热久久这里只有精品
  • <ins id="pjuwb"></ins>
    <blockquote id="pjuwb"><pre id="pjuwb"></pre></blockquote>
    <noscript id="pjuwb"></noscript>
          <sup id="pjuwb"><pre id="pjuwb"></pre></sup>
            <dd id="pjuwb"></dd>
            <abbr id="pjuwb"></abbr>
            国产精品亚洲а∨天堂免在线| 午夜天堂精品久久久久| 一卡二卡3卡四卡高清精品视频 | 欧美一二区视频| 一区二区欧美亚洲| 免费欧美日韩| 欧美gay视频| 国产综合欧美在线看| 一区二区欧美激情| 一区二区三区成人| 欧美福利专区| 亚洲国产精品va在线看黑人| 国产一区深夜福利| 亚欧美中日韩视频| 亚洲欧美日韩区| 欧美新色视频| 一本一道久久综合狠狠老精东影业| 亚洲日本欧美| 蜜臀91精品一区二区三区| 美国三级日本三级久久99| 国产亚洲福利社区一区| 亚洲女人天堂av| 久久成人一区二区| 国产欧美日韩亚洲精品| 亚洲欧美日韩一区二区三区在线观看| 国产精品99久久久久久久久久久久| 欧美国产极速在线| 亚洲黄色天堂| 在线视频一区二区| 欧美婷婷久久| 亚洲一级黄色av| 欧美一区二区三区免费观看视频 | 国产精品视频区| 亚洲在线国产日韩欧美| 欧美中文在线视频| 国产一区二区观看| 久久只精品国产| 亚洲国产欧美日韩另类综合| 99国产精品视频免费观看一公开 | 黄色精品在线看| 久久亚洲风情| 亚洲麻豆av| 欧美亚洲综合网| 在线精品一区二区| 欧美 日韩 国产在线| 亚洲精品日日夜夜| 新67194成人永久网站| 国外成人在线| 欧美电影在线| 亚洲午夜一区二区三区| 久久久精品tv| 日韩午夜中文字幕| 国产精品网曝门| 另类国产ts人妖高潮视频| 亚洲人成77777在线观看网| 亚洲午夜极品| 国产一区二区视频在线观看| 狼人社综合社区| 亚洲视频久久| 欧美成人综合| 午夜综合激情| 日韩一二三在线视频播| 国产精品青草综合久久久久99| 久久久999国产| 亚洲美女区一区| 久久婷婷亚洲| 亚洲伊人色欲综合网| 激情亚洲一区二区三区四区| 欧美精品在欧美一区二区少妇| 亚洲在线一区二区三区| 亚洲国产日本| 久久一区二区三区四区| 亚洲深爱激情| 亚洲国产精品成人一区二区| 国产精品日韩| 欧美精品一区二区三区蜜桃| 欧美一区二区三区精品电影| 亚洲日本欧美在线| 久久看片网站| 欧美一区二区在线播放| 日韩亚洲欧美在线观看| 在线观看成人av| 国产一级一区二区| 欧美小视频在线观看| 欧美电影专区| 久久综合999| 久久久av网站| 性欧美超级视频| 亚洲男人的天堂在线观看| 亚洲精品国精品久久99热一| 农夫在线精品视频免费观看| 欧美在线视频一区| 亚洲免费在线看| 在线亚洲国产精品网站| 亚洲区欧美区| 亚洲国产日韩在线| 亚洲国产精品999| 一区二区三区在线观看国产| 国产亚洲女人久久久久毛片| 国产精品自拍一区| 国产精品久久一区二区三区| 欧美天堂亚洲电影院在线观看 | 欧美91视频| 久久久欧美一区二区| 久久www成人_看片免费不卡| 欧美一区在线直播| 欧美一区日韩一区| 欧美一区二区三区在线观看| 亚洲欧美日韩另类精品一区二区三区| 亚洲一区二区在线观看视频| 亚洲午夜av在线| 亚洲伊人观看| 欧美一区永久视频免费观看| 欧美在线亚洲在线| 久久这里只有| 欧美精品一区二区三区四区| 欧美人交a欧美精品| 欧美日韩亚洲一区二| 欧美视频精品在线观看| 国产精品网红福利| 国产三区精品| 在线播放亚洲一区| 亚洲精品孕妇| 亚洲一区二区三区在线视频| 午夜精品福利在线| 久久久久女教师免费一区| 欧美aⅴ一区二区三区视频| 亚洲国产精品美女| 亚洲视频久久| 久久久久久国产精品mv| 欧美黄色日本| 国产精品一区二区在线观看不卡| 国语自产偷拍精品视频偷| 91久久在线观看| 亚洲欧美色婷婷| 乱中年女人伦av一区二区| 亚洲国产精品va在线观看黑人 | 小嫩嫩精品导航| 老司机免费视频一区二区三区| 欧美久久久久| 国产夜色精品一区二区av| 亚洲欧洲精品一区| 午夜激情综合网| 欧美激情一区二区三区全黄| 日韩亚洲在线| 久久亚洲精品一区| 国产精品电影网站| 激情久久综合| 亚洲欧美日韩国产一区| 欧美成人国产va精品日本一级| 99视频国产精品免费观看| 欧美在线日韩| 欧美三级欧美一级| 在线观看一区视频| 欧美一区二区福利在线| 亚洲国产精品久久久久婷婷老年 | 久久青青草综合| 亚洲精品美女在线观看播放| 午夜精品在线看| 欧美精选一区| 亚洲国产精品久久久久婷婷884 | 欧美日在线观看| 亚洲第一搞黄网站| 欧美一区二区三区视频在线| 亚洲激情在线观看视频免费| 久久精品成人一区二区三区| 国产精品美女www爽爽爽视频| 亚洲国产精品电影| 久久午夜视频| 午夜精品视频| 国产精品主播| 亚洲淫片在线视频| 亚洲理论在线| 欧美人与性禽动交情品| 亚洲第一精品电影| 久久久久久穴| 久久xxxx| 极品尤物av久久免费看| 久久激情婷婷| 亚洲制服av| 国产麻豆日韩| 久久国产一区| 亚洲欧美综合另类中字| 国产精品毛片| 欧美一区二区成人| 亚洲一区二区三区在线| 国产精品成人在线观看| 亚洲午夜视频在线| 亚洲美女视频网| 欧美天天在线| 亚洲欧美日韩直播| 亚洲欧美在线播放| 国产精品一区二区三区观看| 亚洲欧美综合网| 亚洲男人第一av网站| 国产精品一区二区三区久久久 | 美女图片一区二区| 久久久久一区二区三区| 一区二区在线不卡| 久久三级福利|