2019年全国高校计算机能力挑战赛 C语言程序设计决赛

毕竟这个比赛是第一次举办,能理解。。

希望未来再举办时,能够再完善一下题面表述、数据范围。

话说区域赛获奖名额有点少吧。舍友花60块想混个创新创业分也太难。。

水进了决赛圈,一共6题。

前4题,大概C语言课后习题的难度?

第5题,贪心排个序就好了吧

第6题,图论,拓扑排序,但我用暴力的,因为不知道范围呀,希望能骗点分。

第1题

#include

const int maxn = 10050;

char s[maxn];

int cnt[5];

int main(){

char c;

int pos = 0;

while((c = getchar()) != EOF){

s[pos++] = c;

}

for(int i=0;i

if(s[i] == \'+\') cnt[1]++;

else if(s[i] == \'-\') cnt[2]++;

else if(s[i] == \'*\') cnt[3]++;

else if(s[i] == \'/\') cnt[4]++;

}

printf("+ %d\\n",cnt[1]);

printf("- %d\\n",cnt[2]);

printf("* %d\\n",cnt[3]);

printf("/ %d\\n",cnt[4]);

return 0;

}

第2题

#include

const int maxn = 450;

int n;

int a[maxn][maxn];

int main(){

scanf("%d",&n);

for(int i=1;i<=n;i++){

for(int j=1;j<=n;j++){

scanf("%d",&a[i][j]);

}

}

int cnt = 0;

for(int i=1;i<=n;i++){

if(a[i][i] > 0)

cnt++;

}

for(int i=1;i<=n;i++){

int pos = n-i+1;

if(pos == i) continue;

else{

if(a[i][pos] > 0)

cnt++;

}

}

printf("%d",cnt);

return 0;

}

/*

4

1 2 3 4

5 6 7 8

9 0 0 12

1 0 0 -16

*/

第3题

#include

typedef long long ll;

const int maxn = 1010;

int n;

ll a[maxn];

ll b[maxn];

int main(){

scanf("%d",&n);

bool flag = true;

for(int i=1;i<=n;i++){

scanf("%ld",&a[i]);

int temp = a[i];

int min_x = 9;

while(temp){

if(temp%10 < min_x) min_x = temp%10;

temp /= 10;

}

ll new_num;

if(a[i] == 0){

new_num = a[i];

b[i] = new_num;

flag = false;

}else{

ll new_num = (a[i]/100*10+min_x)*10+min_x;

b[i] = new_num;

if(b[i] == a[i]) flag = false;

}

}

if(flag == true){

printf("Done");

for(int i=1;i<=n;i++) printf(" %ld",b[i]);

}else{

printf("Error");

for(int i=1;i<=n;i++) {

if(b[i] == a[i]) printf(" %ld",b[i]);

}

}

return 0;

}

/*

4

321 96 5 232

3

0 9 322

*/

第4题

#include

const int maxn = 10010;

char s[maxn];

char ans[maxn];

int pos = 0;

void solve(int start,int ends){

for(int i=start;i

for(int j=start+1;j

if((s[i] >= \'A\' && s[i] <= \'Z\') || (s[i] >= \'a\' && s[i] <= \'z\')){

if((s[j] >= \'A\' && s[j] <= \'Z\') || (s[j] >= \'a\' && s[j] <= \'z\')){

if(s[i] == (s[j] + 1) || s[i] == (s[j] - 1)){

ans[pos++] = \' \';

for(int j=start;j

ans[pos++] = s[j];

}

return;

}

}

}

}

}

}

int main(){

//freopen("out.txt","w",stdout);

char c;

int start = 0;

int ends = 0;

while((c = getchar()) != EOF){

s[ends++] = c;

if(c == \'.\'){ //处理最后一个

solve(start,ends-1);

break;

}

if(c == \' \'){

solve(start,ends-1);

start = ends;

}

}

if(pos == 0) printf("Accept!");

else{

for(int i=1;i

}

return 0;

}

/*

There is nothing can stop us from hard working.

nothing stop working

hi st

There is a cat in the box.

*/

第5题

#include

const int maxn = 10010;

int n;

int a[maxn];

int b[maxn];

int qusort(int s[],int start,int end)

{

int i,j;

i=start;

j = end;

s[0]=s[start];

while(i

{

while(i

j--;

if(i

{

s[i]=s[j];

i++;

}

while(i

i++;

if(i

{

s[j]=s[i];

j--;

}

}

s[i]=s[0];

if (start

qusort(s,start,j-1);

if (i

qusort(s,j+1,end);

return 0;

}

int main(){

scanf("%d",&n);

for(int i=1;i<=n;i++){

scanf("%d",&a[i]);

}

for(int j=1;j<=n;j++){

scanf("%d",&b[j]);

}

qusort(a,1,n);

qusort(b,1,n);

int pos = 1;

int cnt = 0;

for(int i=1;i<=n;i++){

if(a[i] > b[pos]){

cnt++;

pos++;

}

}

printf("%d",cnt);

return 0;

}

/*

6

2 13 26 33 45 9

3 8 30 15 18 40

*/

第6题

dfs暴力找最长的拓扑路径

#include

const int maxn = 400;

int g[maxn][maxn];

int n;

int a[maxn];

int ans = 0;

int in[maxn];

int out[maxn];

int c;

void dfs(int x,int cur){

if(x == c){

if((cur-a[c]) > ans) ans = cur-a[c];

return;

}

for(int i=1;i<=n;i++){

if(i == x) continue;

if(i!=c && out[i] == 0) continue;

if(g[x][i] == 1){

dfs(i,cur+a[i]);

}

}

}

int main(){

scanf("%d",&n);

for(int i=1;i<=n;i++){

scanf("%d",&a[i]);

}

int u,v;

while(scanf("%d%d",&u,&v) && u!=-1 && v!=-1){

if(g[u][v] == 0){

g[u][v] = 1;

in[v]++;

out[u]++;

}

}

scanf("%d",&c);

if(in[c] == 0) printf("0");

else{

for(int i=1;i<=n;i++){

if(i == c) continue;

if(out[i] == 0) continue;

dfs(i,a[i]);

}

printf("%d",ans);

}

return 0;

}

/*

4

8 12 16 10

1 2

2 3

4 2

1 3

-1 -1

3

3

8 12 16

1 2

1 3

-1 -1

3

*/

队友用拓扑排序做的

#include

#include

#include

#include

#include

#include

#include

using namespace std;

typedef long long ll;

struct node{

vector zi;

int day;

int ind;

int maxT;

vector last;

int cost;

}sub[500];

vector ans;

int n,c;

void toposort() {

queue q;

for (int i = 1; i <=n; i++)

if (sub[i].ind == 0) q.push(i);

while (!q.empty()) {

int u = q.front();

q.pop();

ans.push_back(u);

for(int i = 0;i

int cur = sub[u].last[i];

sub[u].maxT = max(sub[cur].cost,sub[u].maxT );

}

sub[u].cost = sub[u].day + sub[u].maxT ;

sub[u].maxT = sub[u].cost ;

for(int i = 0;i

int cur = sub[u].zi[i];

if(--sub[cur].ind == 0 ){

q.push(cur);

}

}

}

return ;

}

int main(){

cin>>n;

for(int i = 1;i<=n;i++){

int t;

cin>>t;

sub[i].day = t;

sub[i].ind = 0;

sub[i].maxT = 0;

sub[i].cost = 0;

}

while(1){

int a,b;cin>>a>>b;

if(a == -1 && b == -1){

break;

}

sub[a].zi.push_back(b);

sub[b].last.push_back(a);

sub[b].ind ++;

}

cin>>c;

toposort();

cout<

return 0;

}

全国高校计算机能力挑战赛试题,2019年全国高校计算机能力挑战赛 C语言程序设计决赛(示例代码)...相关推荐

  1. 2019一级计算机等级考试试题,2019年全国计算机等级考试一级练习试题及答案(一)...

    2019年全国计算机等级考试一级练习试题及答案(一) 一.选择题 1.在计算机领域中通常用MIPS来描述______. A.计算机的运算速度 B.计算机的可靠性 C.计算机的可运行性 D. 计算机的可 ...

  2. 2019计算机单招试题,2019高职单招计算机类专业练习卷(2)

    <2019高职单招计算机类专业练习卷(2)>由会员分享,可在线阅读,更多相关<2019高职单招计算机类专业练习卷(2)(16页珍藏版)>请在人人文库网上搜索. 1.2019年福 ...

  3. 2019年3月计算机一级考试试题,2019年3月计算机一级考试MsOffice操作试题(五)

    Windows基本操作题,不限制操作的方式 注意:下面出现的所有文件都必须保存在考生文件夹下.本题型共有5小题 1.将考生文件夹下SONGG文件夹中的文件EEEN.TxT复制到考生文件夹下EN文件夹中 ...

  4. 2019C语言程序设计大赛,2019年全国高校计算机能力挑战赛 C语言程序设计决赛

    2019年全国高校计算机能力挑战赛 C语言程序设计决赛 毕竟这个比赛是第一次举办,能理解.. 希望未来再举办时,能够再完善一下题面表述.数据范围. 话说区域赛获奖名额有点少吧.舍友花60块想混个创新创 ...

  5. 江苏省计算机一级考试试题库,2016年江苏省-计算机一级考试.试题-

    2016年江苏省-计算机一级考试.试题- (18页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 9.90 积分 |2016年江苏省计算机一级考试试题 20 ...

  6. 2016年计算机一级考试试题及答案,2016年计算机一级考试试题及答案

    2016年计算机一级考试试题及答案 2016年计算机一级考试要考什么内容呢?有什么考点是需要我们重点去复习的么?下面百分网小编整理了2016年最新的计算机一级考试的试题及答案,欢迎大家阅读查看! 1. ...

  7. 武汉大学计算机学院中国排名,2019年全国高校排行_19中国大学排名1200强公布,浙江大学第5,武汉大学第...

    19中国大学排名1200强公布,浙江大学第5,武汉大学第9 JPG,629x334,231KB,471_250 2019高考 中国各行业顶尖院校大盘点 JPG,1240x946,134KB,328_2 ...

  8. 2019年计算机二级高级office,2019年全国计算机等级考试一本通二级MS Office高级应用...

    2019年全国计算机等级考试一本通二级MS Office高级应用 语音 编辑 锁定 讨论 上传视频 <2019年全国计算机等级考试一本通二级MS Office高级应用>是2018年12月1 ...

  9. 2019计算机二级access教材,2019年全国计算机二级Access上机考点解析七

    2019年全国计算机二级Access上机考点解析七 2019-08-09 11:40:28来源:计算机等级考试网分享 导读:备考是一项持久战,要想取得好成绩,需要付出很多的努力,现在距离计算机等级考试 ...

  10. 计算机实用基础试题答案,广西成人高校《计算机实用基础》统考理论试题(A卷)(含答案)...

    广西成人高校<计算机实用基础>统考理论试题(A卷)(含答案) (5页) 本资源提供全文预览,点击全文预览即可全文预览,如果喜欢文档就下载吧,查找使用更方便哦! 11.9 积分 广西成人高校 ...

最新文章

  1. ubuntu10.0.4使用再生龙还原后在启动时不能正常启动
  2. ML之Hierarchical clustering:利用层次聚类算法来把100张图片自动分成红绿蓝三种色调
  3. linux怎么安装高德导航软件,高德地图车机版如何安装?高德地图车机版安装教程...
  4. 2060显卡驱动最新版本_聊一款现阶段性价比爆炸的显卡——铭瑄RTX2070 SUPER 电竞之心 OC...
  5. SharePoint Web Service系列: Add或Update其他各种类型的项
  6. 处理Windows 7爆音杂音和网游ping值过高
  7. 02-C#(基础)基本的定义和说明
  8. gradle安装及idea导入spring5.0x的源码
  9. 前端技术栈---Vue(1)安装与初始化
  10. web.xml中配置spring的几种方式
  11. 正版win8/win8.1系统激活密钥(key)备份还原操作步骤
  12. 0x00F749F6 处(位于 基于多态实现职工管理系统.exe 中)引发的异常: 0xC0000005: 读取位置 0x00000004 时发生访问冲突。
  13. 如何查看电脑的SN码?
  14. PHP使用ffmpeg压缩视频
  15. WorkFlow .Net 流程会签
  16. 运动学习与控制 示范与口授
  17. 主持人百度百科词条怎么做?主持人怎么申请百科词条?
  18. 软件测评师--第15小时 可靠性测试
  19. echarts实现双坐标系图形叠加展示
  20. CC2530无线RF,串口透传

热门文章

  1. 实时网速怎么看快慢_怎么看测出来的网速快慢
  2. XGBOOST的基本原理以及使用
  3. 动态规划——最小找钱问题
  4. 挂载阿里云盘到本地目录
  5. 挂yy协议的服务器,yy协议挂机软件
  6. 深度分析:OA产品的技术发展过程及未来趋势
  7. Linux系统中xz命令用法详解(压缩和解压缩)
  8. 软件随想录(local.joelonsoftware.com/wiki)-2002年12月11日 程序设计领域的帕麦尔斯顿勋爵 - Lord Palmerston on Programming
  9. 设定个人发展目标和计划
  10. ESP32开发学习 LVGL Littlevgl 使用文件系统