『壹』 如果想參加ACM大賽,需要如何自學c語言有沒有什麼資料推薦一下
如果你之前沒學過編程語言的話,建議你使用譚浩強的教材!!這本書新手學起來快點!!
『貳』 在讀,想搞ACM,目前只會C語言,請問該如何學習
會C語言的話
接下來學習一下基於C語言的《數據結構與演算法》
『叄』 ACM C編程 最好C語言版的
#include<stdio.h>
#include<string.h>
int main()
{
int m,n,i,j;
char s[105][105];
while(scanf("%d%d",&m,&n),m+n)
{
memset(s,0,sizeof(s));
for(i=1;i<=m;i++)
scanf("%s",s[i]+1);
for(i=1;i<=m;i++)
for(j=1;j<=n;j++)
if(s[i][j]=='.')
{
int x,y,a=0;
for(x=-1;x<=1;x++)
for(y=-1;y<=1;y++)
if(s[i+x][j+y]=='*')
a++;
s[i][j]=a+'0';
}
for(i=1;i<=m;i++)
puts(s[i]+1);
puts("");
}
}
『肆』 學了C語言,想參加acm程序設計大賽,請問我該怎麼做有什麼好的參考書嗎
關鍵是邏輯思維能力強,確實有編程天賦,acm才有希望。
數據結構太簡單了吧,我學數據結構的時候感覺大部分演算法都是可以順利成章想出來的,沒有必要學習。當然數據結構也是必須要學好的。其中也有很多經典演算法。
應該多看看各種演算法。學習演算法相關的各種內容,動態規劃是基礎吧。
『伍』 為參加ACM學C語言,應該怎麼學啊
額。。你還沒有學過C就要參加ACM啦?沒事,慢慢來~
俺大學期間參加過acm,只拿過一個銅牌。就談談我的經驗吧~
學編程語言,無非看書+實踐。
學習c語言,國內入門的就是譚浩強的書綠皮書啦~好好學學。如果對國內的書無好感,可以看看c primer plus。如果要學的更全面,就一定要看Brian W.Kernighan和Dennis M.Ritchie寫的C程序設計語言。
以上是語言部分。但是要玩ACM,這還遠遠不夠。
大學期間計算機專業都會學數據結構和演算法設計兩門課程,這些課程至關重要。所以,如果你要精進自己的演算法能力,這兩門必須學好。同樣推薦幾本書,國內的嚴蔚敏的數據結構和王曉東的計算機演算法設計與分析。國外的Mark Allen Weiss的數據結構與演算法分析:C語言描述和著名的MIT的演算法導論。注意,老外的書更全面復雜,無論是初學階段,還是後來的能力提升,都會有幫助!入門的話還是國內的啦~
以上內容學好只是表明你的理論基礎過關。更重要的就是編碼能力了。ACM是理論和實踐的結合。在實際編程中會有很多小技巧和規律,這個就要靠你自己摸索了。當然,針對具體的acm比賽方面的書,無論是ACM規則,編碼調試技巧還是演算法理論,國內也有不少好的,比如劉汝佳的書就非常值得一看。推薦劉汝佳的黑書《演算法藝術與信息學競賽 》(後期看)和他的《演算法藝術與信息學競賽•演算法競賽入門經典》(前期可看)
此外,一定要多多練習,各大OJ,包括ZOJ,POJ等等,都是練習的去處。一定要勤刷題啊~不懂就問,上網多搜索,幾乎所有的題目都會有人給出解答的~
最後,參加ACM是件很苦的事情。除了訓練,到後期,你得學會合作,畢竟ACM是三人組隊參加。要找到自己擅長的領域,一個人很少可能是ACM全能王,你是擅長搜索,還是動態規劃,自己要非常清楚。另外,數學理論也要加強!具體數學,離散數學,組合數學,根據你在隊伍中角色和職能的定位有目的的精進自己的數學理論~
以上說的順序不並不是固定的。比如學完c語言後就可在OJ上刷刷水題了~之後可以一邊學演算法,一邊學數據結構,一邊上OJ做題啦~
說了這么多,最後說一句,歡迎加入ACM!
『陸』 acm編程求解用c語言
雖然我現在對ACM那種有點鑽牛角尖的題目不是很感冒,但是還是得說……這種題目編出來,不是給你上網路來問的。
同學之間可以討論、可以找出題人、老師、前輩請教。
跑來網路知道問這種題目……我不清楚這是你好學的證明呢,還是跟網路知道感情深厚的證明。
『柒』 大一在讀,想搞ACM,目前只會C語言,請問該如何學習
只會C語言的話 演算法上可能會有所欠缺
你可以先找一本數據結構的書看
或者 找一個acm平台,從簡單的開始做,遇到不會的再查資料,一邊練一邊學編程思想 演算法 數據結構
前一個更系統 後一個娛樂性質更高。
『捌』 為參加ACM學C語言,應該怎麼學啊
我們學校的本科和專科,都是有的,
為了以後找工作更加方便,你可以選擇一些比較熱門的專業,例如電商、網路編程、電商財會、ui設計等等,發展前景大,能夠進入的工作單位都比較容易找。其實這些計算機相關專業,學習起來還是比較容易的,上課好好聽老師的思路,根據老師的指導走流程,祝你學到真本事
『玖』 參加acm需要學什麼
其實acmer們都是自己訓練的啊,這種東西只能自己學哈~先從基本的開始吧,把c/c++練熟了,java要掌握一些。然後就是演算法上的東西了。演算法的學習是比較痛苦的,書建議看演算法導論,演算法藝術與信息學競賽,具體數學,柔性字元串匹配,然後是去各大oj上訓練做題,推薦poj,zoj,hdoj,還有各種比賽。下面是詳細的訓練方法~
訓練方法。現在這個賽季基本就算結束了,所以可以從自身能力開始提升,先把演算法掌握的全面一些。模擬,數學,計算幾何,圖論,數據結構,動態規劃,搜索,字元串匹配,貪心,這些知識都要進行學習。如果來不及的話,盡量保證,每一塊知識都能有兩個人覆蓋到,這樣三人組隊,可以保證穩定發揮。個人訓練可以自己做題,按各個知識點來。也可以穿插著去做做比賽,topcoder的srm和codeforces都很不錯,還有zoj的月賽。這都是平時練習的好機會。
比賽前一兩個月,要進行隊伍磨合。組隊做一些比賽,可以去hust的oj上自己掛比賽。注意分配幾時,然後讀題要仔細,分題的時候要清醒,千萬別覺得這個題可做,就直接搞,一定要和隊友商量。卡題的時候,切記不要沖動,亂交會導致罰時飆升啊,那樣很痛苦的。
然後熱身賽記得測一下longlong類型的輸出是用lld還是I64d,然後放平心態就可以了~
『拾』 在ACM中,C語言與C++的優劣
C++和C語言各有所長。做小題目(比如ACM)這樣都,用那個都無所謂,可能C會快一些。但是如果做大型都工程項目,那C++和面向對象設計方面會占優勢(當然了,C語言也可以面向對象,只是實現起來沒有C++那麼直接)。另外,如果用C++的話,一定要學會用STL和泛型編程,要不真不如用C語言算了。