USACO 1.1.1 YOUR RIDE IS HERE
众所周知,在每一个彗星后都有一只UFO。这些UFO时常来收集地球上的忠诚支持者。不幸的是,他们的飞碟每次出行都只能带上一组支持者。因此,他们要用一种聪明的方案让这些小组提前知道谁会被彗星带走。他们为每个彗星起了一个名字,通过这些名字来决定这个小组是不是被带走的那个特定的小组(你认为是谁给这些彗星取的名字呢?)。关于如何搭配的细节会在下面告诉你;你的任务是写一个程序,通过小组名和彗星名来决定这个小组是否能被那颗彗星后面的UFO带走。
小组名和彗星名都以下列方式转换成一个数字:最终的数字就是名字中所有字母的积,其中“A”是1,“Z”是26。例如,“USACO”小组就是21*19*1*3*15=17955。如果小组的数字 mod 47等于彗星的数字mod 47,你就得告诉这个小组需要准备好被带走!(记住“a mod b”是a除以b的余数;34 mod 10等于4)
写出一个程序,读入彗星名和小组名并算出用上面的方案能否将两个名字搭配起来,如果能搭配,就输出“GO”,否则输出“STAY”。小组名和彗星名均是没有空格或标点的一串大写字母(不超过6个字母)。
输入格式:
第1行:一个长度为1到6的大写字母串,表示彗星的名字。
第2行:一个长度为1到6的大写字母串,表示队伍的名字。
输出格式:
GO或者是STAY。
样例输入1
COMETQ
HVNGAT
样例输出1
GO
样例输入2
ABSTAR
USACO
样例输出2
STAY
这题不愧是USACO1.1.1,比较水,但是很适合初学者。
做法:n的范围是非常小的,模拟即可:
#include <stdio.h>
#include <string.h>
#define MODE 47
int main()
{
freopen("ride.in","r",stdin);
freopen("ride.out","w",stdout);
char a[8],b[8];
scanf("%s%s",a,b);
int lena=strlen(a);
int lenb=strlen(b);
int tota=1,totb=1;
for(int i=0;i<lena;i++)
tota=(tota*(a[i]-'A'+1))%MODE;
for(int i=0;i<lenb;i++)
totb=(totb*(b[i]-'A'+1))%MODE;
if(tota!=totb)
printf("%s\n","STAY");
else
printf("%s\n","GO");
fclose(stdin);
fclose(stdout);
return 0;
}
另外可以加上同余,不过事实证明不加同余也没有问题。如果只有遇到数据范围大的题目就要加上同余了
#include <stdio.h>
#include <string.h>
#define MODE 47
int main()
{
// freopen("ride.in","r",stdin);
// freopen("ride.out","w",stdout);
char a[8],b[8];
scanf("%s",a);
scanf("%s",b);
int lena=strlen(a);
int lenb=strlen(b);
int tota=1,totb=1;
for(int i=0;i<lena;i++)
{
tota=(tota*(a[i]-'A'+1))%MODE;
}
for(int i=0;i<lenb;i++)
{
totb=(totb*(b[i]-'A'+1))%MODE;
}
if(tota!=totb)
{
printf("%s\n","STAY");
}
else
{
printf("%s\n","GO");
}
// fclose(stdin);
// fclose(stdout);
return 0;
}
USACO 1.1.1 YOUR RIDE IS HERE的更多相关文章
- USACO Section 1.1 Your Ride Is Here 解题报告
题目 问题描述 将字符串转变为数字,字母A对应的值为1,依次对应,字母Z对应的值为26.现在有一个字符串,将其中的每个字符转变为数字之后进行累乘,最终的结果对47求余数. 题目给你两个字符串,其中的字 ...
- USACO Section 1.1-1 Your Ride Is Here
USACO 1.1-1 Your Ride Is Here 你的飞碟在这儿 众所周知,在每一个彗星后都有一只UFO.这些UFO时常来收集地球上的忠诚支持者.不幸的是,他们的飞碟每次出行都只能带上一组支 ...
- USACO Section 1.1PROB Your Ride Is Here
题目传送门 不能提交哦 http://www.nocow.cn/index.php/Translate:USACO/ride /* ID: jusonal1 PROG: ride LANG: C+ ...
- usaco training <1.2 Your Ride Is Here>
题面 Your Ride Is Here It is a well-known fact that behind every good comet is a UFO. These UFOs often ...
- USACO CHAPTER 1 1.1 Ride 水题
水题,主要是学习文件输入输出. /* ID: ijustwa1 LANG: C++ TASK: ride */ #include<cstdio> #include<cstring&g ...
- USACO . Your Ride Is Here
Your Ride Is Here It is a well-known fact that behind every good comet is a UFO. These UFOs often co ...
- Your Ride Is Here 你的飞碟在这儿 USACO 模拟
1001: 1.1.1 Your Ride Is Here 你的飞碟在这儿 时间限制: 1 Sec 内存限制: 128 MB提交: 9 解决: 9[提交] [状态] [讨论版] [命题人:外部导入 ...
- 【USACO】【section1.1】Your Ride Is Here
以前的账号忘记了,只能从头了. 入门题不解释,就是sumg和sumc初始值置1不能置0.开始享用一个循环计算出sumg和sumc,其实两个数组最大程度为6,节省不了什么时间. /*ID:Moment1 ...
- USACO Training Section 1.1 Your Ride Is Here
题目描述 众所周知,在每一个彗星后都有一只UFO.这些UFO时常来收集地球上的忠诚支持者.不幸的是,他们的飞碟每次出行都只能带上一组支持者.因此,他们要用一种聪明的方案让这些小组提前知道谁会被彗星带走 ...
随机推荐
- PowerDesigner中批量替换name和code的脚本
无论是cdm还是pdm都可以批量替换.处理.可在Tool-Execute commands-Edit/Run script中编辑运行脚本: 下面的脚本是批量将CDM中实体的用Code替换掉Name O ...
- JavaScript基本概念C - 真与假
真与假 与 c 和 c++ 非常相似, 但与 Java 不同, JS中被认为true或false范围很广.所有对象 (空字符串除外) 和非零数字都被视为 true.空字符串.零.null 和undef ...
- touch: cannot touch `/home/tomcat7/logs/catalina.out': Permission denied
今天打开虚拟机启动tomcat,Y的包这个错,普通用户登录的,一直报这个错误,竟然没有想起来是为什么,真是感到惭愧,其实原因很简单,就是logs文件夹没有读写的权限,一条 chmod -R 777 l ...
- LaTeX 控制图片的位置
加感叹号来忽略“美学”标准. \begin{figure}[!htb] \usepackage{float}\begin{figure}[H]插到你代码相应的位置. 1,插入并列的子图 \usepac ...
- C程序设计语言(K&R) 笔记2
(1) #include <stdio.h> main(){ int c; while((c = getchar()) != EOF){ putchar(c); } } 注意,因为 != ...
- createPlaceholder 函数
function createPlaceholder(id,text,top,left){ top = top || 0; left = left || 0; var obj = $('#' + id ...
- CSS制作水平垂直居中对齐 多种方式各有千秋
作为前端攻城师,在制作Web页面时都有碰到CSS制作水平垂直居中,我想大家都有研究过或者写过,特别的其中的垂直居中,更是让人烦恼.这段时间,我收 集了几种不同的方式制作垂直居中方法,但每种方法各有千秋 ...
- 【转】nginx location匹配规则
转载请保留:http://www.nginx.cn/115.html location匹配命令 ~ #波浪线表示执行一个正则匹配,区分大小写~* #表示执行一个正则匹配,不区分大小写^ ...
- 使用RSS提升DPDK应用的性能(转)
本文描述了RSS以及在DPDK中如何配置RSS达到性能提升和统一分发. 什么是RSS RSS(Receive Side Scaling)是一种能够在多处理器系统下使接收报文在多个CPU之间高效分发的网 ...
- tarjan进阶
一.边双连通分量 定义 若一个无向图中的去掉任意一条边都不会改变此图的连通性,即不存在桥,则称作边双连通图.一个无向图中的每一个极大边双连通子图称作此无向图的边双连通分量. 实际求法和强连通分量差不多 ...