专栏首页calmoundThe 9th Zhejiang Provincial Collegiate Programming Contest

The 9th Zhejiang Provincial Collegiate Programming Contest

2012年4月14日进行的第九届浙江省省赛,进行的网络同步赛,以小组进行的训练,比赛期间没有上机做题,仅仅是充当翻译的作用,

完全拖本组的后腿,如果没有我,完全可以相信对于排名没有影响,自己的水平还是太差,太一般,赛后把一些水题自己做一做,也能

做出三道题,以后开始每一次比赛都写一份解题报告以及感想了

A题 Taxi Fare

题意:修改前,坐车起步价10块,超过3公里2元/公里,超过10公里3元/公里,停车2元/5分钟,外加1元的油费超支

         修改后,坐车起步价11块,超过3公里2.5元/公里,超过10公里3.75元/公里,停车2.5元/4分钟

         The actual fare is rounded to the nearest yuan, and halfway cases are rounded up

         这真实的价格是是最接近的那个整数,半数的就向上取整(四舍五入)

         round up 向上取整

#include<stdio.h>
int main()
{
	int T;
	int d,t;
	scanf("%d",&T);
	while(T--)
	{
		scanf("%d%d",&d,&t);
		double sum1=0,sum2=0;
		if(d<=3) {  sum1+=10;  sum2+=11; }
		else if(d<=10)  {sum1=10+(d-3)*2;   sum2=11+(d-3)*2.5;}
		else {sum1=24+(d-10)*3; sum2=28.5+(d-10)*3.75;}
		sum1+=0.4*t;
		sum2+=0.625*t;
		sum1+=1;
		int s1=sum1+0.5;//单次计算就取整,而不是两个相减后在取整
		int s2=sum2+0.5;
        printf("%d\n",s2-s1);
	}
	return 0;
}

D题:Draw Something Cheat

题意:给你n个含12个字符的字符窜,让你找出每窜字符中都出现的字母

        Each letter can only be used once.

        这句话的意思并不是说每个字符窜中的一个字母只出现一次,而是当你排除的时候

       只能用一次

       如AA      A 当你第一个字符窜中的第一个A和第二个字符窜中的A对比后,第二个字符窜中的

      A就不能用了(哈希肯定错误的)

 分析:拿第一个字符窜当作源字符窜,依次和下n-1行进行对比,若   

#include<stdio.h>
int main()
{
	int T,i,j,n,k;
	char str[30][100];
	scanf("%d",&T);
	while(T--)
	{
		scanf("%d",&n);
		for (i=0;i<n;i++)
			scanf("%s",str[i]);
		for (i=1;i<n;i++)
			for (j=0;j<12;j++)
			{
				for (k=0;k<12;k++)
				  if(str[0][j]==str[i][k]) break;
                                if(k==12) 
				     str[0][j]='#';//剔除
			        else str[i][k]='#';
			}
	    for (i=65;i<=90;i++)//按字母顺序输出
	       for (j=0;j<12;j++)
		  if(str[0][j]==i)
	    printf("%c",i);
        printf("\n"); 
	}
	return 0;
}

D题:Yet Another Story of Rock-paper-scissors

题意:剪刀石头布,都是女的赢。。。。

不过还是wa了一次,真是太水了,自己竟然复制粘贴的时候选错字符了,水~~

#include<stdio.h>
#include<string.h>

int main()
{
    int T;
    char str1[30],str2[30],str3[30];
    scanf("%d",&T);
    while(T--)
    {
      scanf("%s%s%s",str1,str2,str3);
      printf("%s will survive\n",str2);
    }
    return 0;
}

J题:Modular Inverse     赤裸的扩展欧几里德,可是我不会,等以后学了再来做。。。Orz。

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

我来说两句

0 条评论
登录 后参与评论

相关文章

  • C语言之位运算

    指针和位运算很适合编写系统软件的需要。 位运算指进行二进制位的运算。   按位与”运算符 & 用途 1)清零 2)取一个数中某些指定位(比如只需要低8位) 3)...

    互联网金融打杂
  • 程序员面试50题(3)—翻转句子中单词的顺序[算法]

    题目:输入一个英文句子,翻转句子中单词的顺序,但单词内字符的顺序不变。句子中单词以空格符隔开。为简单起见,标点符号和普通字母一样处理。 例如输入“I am a ...

    互联网金融打杂
  • C语言之函数

      结构化程序设计主张按功能来分析需求,主要原则自顶向下,逐步求精,模块化等。 主张按功能把软件系统逐步细分,每个功能都负责对数据进行一次处理,每个功能接收一些...

    互联网金融打杂
  • C++之new/delete/malloc/free详解

    主要内容: 1.  C语言中的函数malloc和free 2.  C++中的运算符new和delete 3.  new/delete与malloc/free之间...

    互联网金融打杂
  • C语言之控制台读取上下左右方向键指令

    首先,可以检测任何按键键值 // 首先,检测任何按键的代码 #include<stdio.h> #include<conio.h> int main() { ...

    互联网金融打杂
  • 今天研究了一下手机通信录管理系统(C语言)

    题目:手机通信录管理系统 一、题目要求 二、需求分析 三、设计步骤/编写代码 四、上机/运行结果 五、总结 一、题目要求 模拟手机通信录管理系统,实现对手机中...

    互联网金融打杂
  • C程序之修改Windows的控制台大小

    //change the console size #include <stdio.h> #include<stdlib.h> //必须有 int main(...

    互联网金融打杂
  • 验证 结构体指针与自增运算符

    #include <stdio.h> #include <stdlib.h> int main() { struct student { char *...

    互联网金融打杂
  • C++/C头文件 .h和 .c

      在C语言家族程序中,头文件被大量使用。一般而言,每个C++/C程序通常由头文件(header files)和定义文件(definition files)组成...

    互联网金融打杂
  • C语言之预处理命令与用typedef命名已有类型

     预处理命令 主要是改进程序设计环境,以提高编程效率,不属于c语言本身的组成部分,不能直接对它们进行编译,必须在对 程序编译之前,先对程序中的这些特殊命令进行...

    互联网金融打杂

扫码关注云+社区

领取腾讯云代金券