A. 大學生參加編程競賽,各種競賽用的語言都一樣的嗎用的是什麼語言
各種語言都行啊,只要不是特定的某種語言競賽;比如,C/C++語言競賽;
一般的計算機編程競賽都是給題目,你只要能答上就行.
B. 請問百度astar編程賽的題目是什麼樣的
3.變態比賽規則
為了促進各部門員工的交流,網路舉辦了一場全公司范圍內的「拳皇」(網路內部最流行的格鬥游戲)友誼賽,負責組織這場比賽的是網路的超級「拳皇」迷W.Z。W.Z不想用傳統的淘汰賽或者循環賽的方式,而是自己制定了一個比賽規則。
由於一些員工(比如同部門或者相鄰部門員工)平時接觸的機會比較多,為了促進不同部門之間的交流,W.Z希望員工自由分組。不同組之間的每兩個人都會進行一場友誼賽而同一組內的人之間不會打任何比賽。
比如4個人,編號為1~4,如果分為兩個組並且1,2一個組,3,4一個組,那麼一共需要打四場比賽:1 vs 3,1 vs 4,2 vs 3,2 vs 4。 而如果是1,2,3一組,4單獨一組,那麼一共需要打三場比賽: 1 vs 4,2 vs 4,3 vs 4。
很快W.Z意識到,這樣的比賽規則可能會讓比賽的場數非常多。W.Z想知道如果有N個人,通過上面這種比賽規則,總比賽場數有可能為K場嗎?比如3個人,如果只分到一組則不需要比賽,如果分到兩組則需要2場比賽,如果分為三組則需要3場比賽。但是無論怎麼分都不可能恰需要1場比賽。
相信作為編程高手的你一定知道該怎麼回答這個問題了吧? 那麼現在請你幫助W.Z吧。
輸入要求:
每行為一組數據,包含兩個數字 N, K(0<N<=500, K>=0)。例:
2 0
2 1
3 1
3 2
輸出要求:
對輸入的N,K 如果N個員工通過一定的分組方式可以使比賽場數恰好為K,則輸出"YES",否則輸出"NO"(請全部使用大寫字母),每組數據佔一行。例:
YES
YES
NO
YES
評分規則:
1.程序將運行在一台Linux機器上(內存使用不作嚴格限制),在每一測試數據集上運行不能超過10秒,否則該用例不得分;
2.要求程序能按照輸入樣例的格式讀取數據文件,按照輸出樣例的格式將運行結果輸出到標准輸出上。如果不能正確讀入數據和輸出數據,該題將不得分;
3.該題目共有3個測試數據集,每個測試數據集為一個輸入文件。各測試數據集占該題目分數的比例分別為30%,30%,40%;
4.該題目20分。
C. 比較好的大學生C語言競賽編程題 或者比較有檔次的競賽有哪些(本科、研究生可以參加的)
1:語言競賽編程題很多,你可以去北大的ACM網上測評系統JudgeOnline上做題,它能檢查你的代碼是否正確。
網址:http://acm.pku.e.cn/JudgeOnline/
可以注冊一個賬號,它會保存你每次提交正確的代碼,上面的題比較多,范圍廣,各種難度試題都有。當然還有其他大學的一些JudgeOnline,如上海交大的。
2:有檔次的競賽首推ACM/ICPC(國際大學生程序設計競賽),當然也有全國大學生程序設計大賽。每年有的網站和機構也會舉辦編程競賽,如這幾年網路舉辦的網路之星程序設計大賽也很有影響力。在給出的樣題第一例有對ACM的詳細介紹,樣題是我們學校某屆程序大賽初試題,比較簡單。(此外ACM程序大賽也可以用C++編程,本科生、研一可參加)
3:一些簡單的ACM樣題(因為是國際性比賽,ACM試題都是E文的,下面部分是翻譯過來的)
H-acm規則
Description
ACM/ICPC(國際大學生程序設計競賽)是由ACM(Association for Computing Machinery,美國計算機協會)組織的年度性競賽,始於1976年,是全球大學生計算機程序能力競賽活動中最有影響的一項賽事,是全世界公認的規模最大、規格最高的大學生程序設計競賽,是參賽選手展示計算機才華的廣闊舞台,是著名大學計算機教育成果的直接體現,是信息企業與世界頂尖計算機人才對話的最好機會。ACM/ICPC採用賽區選拔的方式產生參加世界決賽學校的資格,2001年,來自全球超過25個地區1141所大學的2362支隊伍參加了第26屆ACM/ICPC的賽區競賽。在2002年3月,來自世界各地的約60支隊伍,200多名選手參加了夏威夷總決賽的角逐。
在 ACM/ICPC 比賽中,均使用自動判題系統,這不僅減輕了ACM/ICPC比賽的舉辦方的負擔,同時也使競爭更加的公正公平。 因為在比賽中,比賽成員就可以看到自己排名情況,這使的比賽更加的透明。
ACM/ICPC 比賽中排名是按如下方法排名的:
1: 解題數目最多的隊伍排在前面。
2: 如果解題數目相等的隊伍,總用時最少的排在前面。
註: 在比賽中,每道試題用時將從競賽開始到試題解答被判定為正確為止,期間每一次錯誤的運行將被加罰20分鍾時間,未正確解答的試題不計時。 那麼所有解答出來題目的用時和罰時加起來為:該隊伍所花的總用時。
現在,需要你寫一個程序來給比賽隊伍進行排名(假設不超過200支隊伍)。
Input
多行測試數據,每行包含各個隊伍的比賽信息。
每個隊伍格比賽信息表示格式為:
string n m 分別表示隊名、解題數量、總用時(其中:隊名為長度不超過30的字元串,解題數量為1…10之間的整數,罰時的范圍不超過int的范圍)
當輸入end時,表示輸入結束。
Output
按先後名次輸出各個隊伍的比賽信息。
每個比賽隊伍佔一行。
每行格式為:
string n m 分別代表 隊名 解題數量 總用時。
Example Input
amstl 3 65
danoniao 2 50
lutedan 3 60
end
Example Output
lutedan 3 60
amstl 3 65
danoniao 2 50
G-我想我需要一隻船屋
Description
佛瑞德最近正在考慮在路易斯安那洲買一片土地來蓋一棟房子.在進行調查研究土地的過程中佛瑞德發現,路易斯安那洲的土地由於密西西比河的侵蝕會以每年50平方英里的速度縮減.佛瑞德計劃後半生都在該地度過,所以他不希望在自己的有生之年房屋受到河水的侵蝕.現在他需要知道自己是否會受到河水的侵蝕.
在做了更多的調查之後,佛瑞德得知這里的土地沿河岸以半圓形方式侵蝕,這個半圓以(0,0)為圓心的,被X軸分成上下兩部分,位於X軸下邊的是河水,上面是河岸.在第一年開始的時候這個半圓范圍為0,也就是說河岸未被河水侵蝕.(半圓如下圖所示)
Input
第一行的一個正整數N指出下邊有多少組數據需要計算.下邊N行,每行包含兩個實數X和Y,指出佛瑞德考慮的房子以(0,0)為原點的坐標系內的位置.以英里為單位.Y為非負數.
Output
計算在X,Y位置佛瑞德的房子在第幾年會被河水侵蝕.與輸入數據相對應每行以如下形式輸出你的計算結果:「Property N: This property will begin eroding in year Z.」, 其中N為第N組數據,Z為你計算出的開始侵蝕的年數.在最後輸出一句「END OF OUTPUT.」,表示計算結束.
Example Input
2
1.0 1.0
25.0 0.0
Example Output
Property 1: This property will begin eroding in year 1.
Property 2: This property will begin eroding in year 20.
END OF OUTPUT.
Hint
• 房屋的位置不會正好在半圓邊界上,要不在內,要不在外。
• 你所提交的程序計算輸出會由系統自動判斷。你的結果要和輸出要求精確匹配,字母大小寫、標點符號和空格 。包括最後一行的語句也要精確匹配。
• 所有給定數據都以英里為單位。
F-N!的計算
Description
N!=N×(N-1)×(N-2)×(N-3)×....
Input
輸入第一行為一正整數m,表示下邊要計算幾個 N!
下一行開始為m個正整數( 1 ≤ N ≤ 11 , m ≤ 9)
Output
輸出這m個正整數的階乘結果,每個一行.
Example Input
3
1
2
5
Example Output
1
2
120
I-Vertical Histogram
Description
Write a program to read four lines of upper case (i.e., all CAPITAL LETTERS) text input (no more than 72 characters per line) from the input file and print a vertical histogram that shows how many times each letter (but not blanks, digits, or punctuation) appears in the all-upper-case input. Format your output exactly as shown.
Input
* Lines 1..4: Four lines of upper case text, no more than 72 characters per line.
Output
* Lines 1..??: Several lines with asterisks and spaces followed by one line with the upper-case alphabet separated by spaces. Do not print unneeded blanks at the end of any line. Do not print any leading blank lines.
Example Input
THE QUICK BROWN FOX JUMPED OVER THE LAZY DOG.
THIS IS AN EXAMPLE TO TEST FOR YOUR
HISTOGRAM PROGRAM.
HELLO!
Example Output
*
*
* *
* * * *
* * * *
* * * * * *
* * * * * * * * * *
* * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * *
* * * * * * * * * * * * * * * * * * * * * * * * * *
A B C D E F G H I J K L M N O P Q R S T U V W X Y Z
J-白棋勝?還是黑棋勝?
Description
Cinderalla最近迷上了玩五子棋.可是在和其它的小夥伴一起玩時她老是輸,於是她想用計算機來幫她判斷棋局是那方獲勝.為了簡便,我們先去掉一些規則.我們認為棋盤上只要有一方的棋有五個棋子相連就確定那一方獲勝.你的任務是編寫一個程序來判斷我們給出的棋局是那一方獲勝.
Input
輸入數據只有一組.第一行有兩個正整數m,n(5 ≤ m,n ≤ 10),分別代表棋盤的行數和列數.緊接著的2*n+1行是棋盤的描述,棋盤由"+","-","|"構成,其中"*"代表白棋,"#"代表黑棋. "+","-","|"的ASCII碼分別為43、45、124
Output
輸出數據只有一組,如果白棋獲勝則輸出White Win!,如果黑棋獲勝則輸出Black Win!
Example Input
5 10
+-+-+-+-+-+-+-+-+-+-+
| |*| | | | | | | | |
+-+-+-+-+-+-+-+-+-+-+
| | |*|#| | | | | | |
+-+-+-+-+-+-+-+-+-+-+
| | |#|*|#|#| | | | |
+-+-+-+-+-+-+-+-+-+-+
| | | | |*|#| | | | |
+-+-+-+-+-+-+-+-+-+-+
| | | | | |*| | | | |
+-+-+-+-+-+-+-+-+-+-+
Example Output
White Win!
Hint
給出的棋局必有一方是獲勝的.
D. 單片機編程問題(C語言),很入門的問題,明天比賽,急急急!多少分都可以
下列程序已經調好,按鍵顯示電路可見:
http://hi..com/%D7%F6%B6%F8%C2%DB%B5%C0/blog/item/ef086222268d4f4eac34de59.html
//單片機:使用51系列兼容的即可;
//4×4矩陣鍵盤:接在P1口;
//兩位數碼顯示器: P0口輸出七段碼,P2口輸出位選碼。
/========================================
//C語言程序如下。
/*************************************************************
* 文件名: KEY_LED.c
* 功能 : 對4×4矩陣鍵盤進行輸出,在數碼管後兩位顯示按鍵值。
**************************************************************/
#include <reg51.h>
#include <intrins.h>
#define uint unsigned int
#define uchar unsigned char
uchar code table[10] = {0xC0, 0xf9, 0xa4, 0xb0, 0x99, 0x92, 0x82, 0xf8, 0x80, 0x90};
uchar sec, t_50ms;
/**************************************************************
* 名稱 : Delay_1ms()
* 功能 : 延時子程序,延時時間為 1ms * x
* 輸入 : x (延時一毫秒的個數)
* 輸出 : 無
***************************************************************/
void Delay_1ms(uint x)
{
uint i;
uchar j;
for(i = 0; i < x; i++) for(j = 0; j <= 148; j++);
}
/**************************************************************
* 名稱: Display(uchar k)
* 功能: 將參數分成十位、個位分別顯示
* 輸入: k (鍵盤數值)
* 輸出: P0口輸出七段碼,P2口輸出位選碼
***************************************************************/
void Display(uchar k)
{
P2 = 0; //消隱
P0 = table[k / 10];
P2 = 0x02; Delay_1ms(5); //顯示5ms十位
P2 = 0; //消隱
P0 = table[k % 10];
P2 = 0x01; Delay_1ms(5); //顯示5ms個位
}
/**************************************************************
* 名稱: Keyscan()
* 功能: P1外接4×4按鍵, 按照掃描法讀出鍵值
* 輸出: 按鍵值0~15/如無鍵按下, 返回16
***************************************************************/
uchar Keyscan(void)
{
uchar i, j, temp, Buffer[4] = {0xef, 0xdf, 0xbf, 0x7f};
for(j = 0; j < 4; j++) { //循環四次
P1 = Buffer[j]; //在P1高四位分別輸出一個低電平
temp = 0x01; //計劃先判斷P1.0位
for(i = 0; i < 4; i++) { //循環四次
if(!(P1 & temp)) //從P1低四位,截取1位
return (i + j * 4); //返回取得的按鍵值
temp <<= 1; //判斷的位,左移一位
} }
return 16; //判斷結束,沒有鍵按下,返回16
} //呵呵,實質性的語句不過8行,就是這么簡練!
/**************************************************************
* 名稱: GetKey()
* 功能: 讀出按鍵、消抖、等待按鍵釋放
* 輸出: 按鍵值0~15/如無鍵按下, 返回16
***************************************************************/
uchar GetKey(void)
{
uchar Key_Temp1, Key_Temp2; //兩次讀出的鍵值
P1 = 0xff;
Key_Temp1 = Keyscan(); //先讀入按鍵
if(Key_Temp1 == 16) return 16; //沒有鍵按下,返回16
Display(sec); //用顯示代替延時
Key_Temp2 = Keyscan(); //再讀一次按鍵
if(Key_Temp1 != Key_Temp2) return 16; //不同,返回16
while(Keyscan() < 16) //等待按鍵釋放
Display(sec); //等待期間顯示
return Key_Temp1;
}
/**************************************************************
* 名稱 : Main()
* 功能 : 主函數
***************************************************************/
void Main(void)
{
uchar Key_Value; //讀出的鍵值
sec = 0;
TMOD = 0x01;
TH1 = (65536-50000)/256;
TL1 = (65536-50000)%256;
TR0 = 1;
ET0 = 1;
EA = 1;
while(1) {
Display(sec); //顯示
if (GetKey() == 10) {
TR0 = 0;
while (TR0 == 0) {
Display(sec); //顯示
Key_Value = GetKey();
if (Key_Value < 10) {
sec %= 10;
sec = sec * 10 + Key_Value;
}
if (Key_Value == 10) TR0 = 1;
} } }
}
/**************************************************************
* 名稱 : T0_INT()
* 功能 : T0中斷函數
***************************************************************/
void T0_INT() interrupt 1
{
TH1 = (65536-50000)/256;
TL1 = (65536-50000)%256;
t_50ms++;
if(t_50ms >= 20) {
t_50ms = 0;
sec++;
sec %= 60;
}
}
/*************************************************************/
E. 藍橋杯比賽內容
藍橋杯比賽內容是填空題和編程題。
1、填空題
題目為若干具有一定難度梯度、分值不等的結果填空題或代碼完善填空題。
(1)結果填空題
題目描述一個具有確定解的問題。要求選手對問題的解填空。不要求解題過程,不限制解題手段,只要求填寫確定的結果。
(2)代碼填空題
題目描述一個具有確定解的問題。題目同時給出該問題的某一解法的代碼,但其中有缺失部分。要求選手讀懂代碼邏輯,對其中的空缺部分補充代碼,使整段代碼完整。
2、編程題
題目為若干具有一定難度梯度、分值不等的編程題目。這些題目的要求明確、答案客觀。題目一般要用到標准輸入和輸出。
要求選手通過編程,對給定的標准輸入求解,並通過標准輸出,按題目要求的格式輸出解。題目一般會給出示例數據。
藍橋杯簡介
藍橋杯全國軟體和信息技術專業人才大賽由工業和信息化部人才交流中心主辦,共有北京大學、清華大學、上海交通大學等全國1200餘所高校參賽,累計參賽人數超過40萬人,成為國內規模領先,領跑人才培養選拔模式並獲得行業深度認可的IT類科技競賽。
2020年2月22日,中國高等教育學會發布2019年全國普通高校學科競賽排行榜,藍橋杯全國軟體和信息技術專業人才大賽成功入選,成為高校教育教學改革和創新人才培養的重要競賽項目。
同時,第十二屆藍橋杯大賽正在報名中(報名時間為2020年12月-2021年3月),如果准備要參加,鍛煉自己的編程能力或者想被保研,切記千萬不要錯過時間。
F. 互聯網+項目編程題目有哪些
互聯網+項目編程題目有,移動數字游戲,學生信息管理系統,超市庫存管理系統,電話號碼存儲系統等等。
互聯網+是指在創新2.0(信息時代、知識社會的創新形態)推動下由互聯網發展的新業態,也是在知識社會創新2.0推動下由互聯網形態演進、催生的經濟社會發展新形態。
G. 5.(拔河比賽選隊員)C++編程題,希望大家幫忙做做,只要程序就行,任何解釋內容都不需要。 以下是題目
/*
操作鏈表,首先是輸入數據,然後輸出原始鏈表,對鏈表排序排序,輸出控制量之內的鏈表結點信息
*/
#include<stdio.h>
#include<stdlib.h>
#include<string.h>
#include<iostream.h>
structInfo
{
charname[10];
intweight;
charsex;
structInfo*Next;
};
structInfo*temp,*rMale;
structInfo*teacher,*Male,*Female,*Mp,*Fp,*tFemale,*tMale;
inti_m,i_f;
voidSwapNodeData(structInfo*p1,structInfo*p2)
{
chartemp1[10];
strcpy(temp1,p1->name);
strcpy(p1->name,p2->name);
strcpy(p2->name,temp1);
inttemp2;
temp2=p1->weight;
p1->weight=p2->weight;
p2->weight=temp2;
chartemp3;
temp3=p1->sex;
p1->sex=p2->sex;
p2->sex=temp3;
}
voidRank(structInfo*p)
{
for(intj=1;j<i_m;j++)
{
tMale=p->Next;
for(intk=1;k<=i_m-j;k++)
{
if(tMale->weight<tMale->Next->weight)
SwapNodeData(tMale,tMale->Next);
tMale=tMale->Next;
}
}
}
voidprintInfo(structInfo*p)
{
tMale=p;
for(;;)
{
tMale=tMale->Next;
if(tMale!=NULL)
cout<<tMale->name<<" "<<tMale->weight<<" "<<tMale->sex<<endl;
else
break;
}
}
intmain(void)
{
intn;
//其中teacher用來接收用戶傳入數據;Male和Female分別用來保存男女老師的鏈表的首地址;Mp和Fp用來在鏈表中向前不斷移動,以便鏈入數據
//其中我們做成的兩個鏈表是帶有空頭結點的鏈表
printf("Plsenterthenumberofteashers: ");
scanf("%d",&n);
teacher=(structInfo*)malloc(sizeof(structInfo));
Fp=(structInfo*)malloc(sizeof(structInfo));
Mp=(structInfo*)malloc(sizeof(structInfo));
/*
這塊很重要!呵呵,一定要整明白了!
*/
Male=Mp;
Female=Fp;
i_m=i_f=0;
//這里是對所需數目的教師信息輸入用teacher這個指針接收,並判斷男女,若男利用Mp鏈接以Male為首地址的鏈表中,若女利用Fp鏈接進以
printf(": 注意中間一空格間隔,性別只可為大寫的F或M,Ex:張三187M ");
for(inti=0;i<n;i++)
{
cin>>teacher->name>>teacher->weight>>teacher->sex;
if(teacher->sex=='M')
{
Mp->Next=teacher;
Mp=teacher;
i_m++;
teacher=(structInfo*)malloc(sizeof(structInfo));
}
elseif(teacher->sex=='F')
{
Fp->Next=teacher;
Fp=teacher;
i_f++;
teacher=(structInfo*)malloc(sizeof(structInfo));
}
else
{
printf("WrongInformation! ");
i--;
continue;
}
}
Mp->Next=NULL;
Fp->Next=NULL;
//Male&Female是用來永遠保存兩個鏈表的首地址的
printf("男老師有:%d,女老師有:%d ",i_m,i_f);
//下面是通過printInfo函數將老師的原始輸入的信息列印出來
printf("男老師的信息若下: ");
printInfo(Male);
printf("女老師的信息若下: ");
printInfo(Female);
//下面的程序是對兩個鏈表進行排序,並輸出選擇的人名
Rank(Male);
Rank(Female);
cout<<"選擇的男老師分別是:"<<endl;
tMale=Male->Next;
for(intj=0;j<5;j++,tMale=tMale->Next)
{
if(tMale!=NULL)
cout<<tMale->name<<endl;
else
break;
}
cout<<"選擇的女老師分別是:"<<endl;
tMale=Female->Next;
for(intk=0;k<5;k++,tMale=tMale->Next)
{
if(tMale!=NULL)
cout<<tMale->name<<endl;
else
break;
}
return0;
}
應該好使,
圖片中是我的運行結果
H. C語言 編程題目 程序設計題目 高中信息科技競賽編程題目 【100分】
【第一道】
#include <iostream>
using namespace std;
#define pi 3.14159265
double maxvolume(double a,double b)
{
double v1,v2,r;
r=b/(2*pi+2);
v1=pi*r*r*a;
r=a/(2*pi+2);
v2=pi*r*r*b;
if(v1>v2)
return v1;
else
return v2;
}
int main()
{
double a,b;
cout<<"請輸入矩形的長寬:";
cin>>a;
cin>>b;
cout<<"最大圓柱體積:"<<maxvolume(a,b)<<endl;
return 0;
}
【第二道】
//事實上,塗色方案不止樣例上的一種,我把所有的可行方案都輸出了一下
#include <iostream>
using namespace std;
int data[][8]={ {0},
{0,0,1,0,0,0,1,1},
{0,1,0,1,1,1,1,0},
{0,0,1,0,1,0,0,0},
{0,0,1,1,0,1,0,0},
{0,0,1,0,1,0,1,0},
{0,1,1,0,0,1,0,1},
{0,1,0,0,0,0,1,0}
};
int total;
int color[8];
char COLOR[5]={' ','R','Y','B','W'};
void output()
{
total++;
cout<<"["<<total<<"]\t";
for(int i=1;i<=7;i++)
{
cout.width(2);
cout<<COLOR[color[i]];
}
cout<<endl;
}
bool checkcolor(int s)
{
for(int i=1;i<=7;i++)
{
if(data[i][s]==1&&color[i]==color[s])
return false;
}
return true;
}
void drawcolor(int s)
{
if(s>7)
output();
else
for(int i=1;i<=4;i++)
{
color[s]=i;
if(checkcolor(s))
drawcolor(s+1);
}
}
int main()
{
cout<<" \t";
for(int i=1;i<=7;i++)
{
cout.width(2);
cout<<i;
}
cout<<endl;
drawcolor(1);
cout<<endl<<" \t塗色方案總數:"<<total<<endl<<endl;
return 0;
}