当前位置: 首页 > news >正文

Python解决codeforces ---- 2


第一题 4A

A. Watermelon
time limit per test
1 second
memory limit per test
64 megabytes
input
standard input
output
standard output

One hot summer day Pete and his friend Billy decided to buy a watermelon. They chose the biggest and the ripest one, in their opinion. After that the watermelon was weighed, and the scales showedwkilos. They rushed home, dying of thirst, and decided to divide the berry, however they faced a hard problem.

Pete and Billy are great fans of even numbers, that's why they want to divide the watermelon in such a way that each of the two parts weighs even number of kilos, at the same time it is not obligatory that the parts are equal. The boys are extremely tired and want to start their meal as soon as possible, that's why you should help them and find out, if they can divide the watermelon in the way they want. For sure, each of them should get a part of positive weight.

Input

The first (and the only) input line contains integer numberw(1 ≤ w ≤ 100) — the weight of the watermelon bought by the boys.

Output

PrintYES, if the boys can divide the watermelon into two parts, each of them weighing even number of kilos; andNOin the opposite case.

Sample test(s)
input
8
output
YES
Note

For example, the boys can divide the watermelon into two parts of 2 and 6 kilos respectively (another variant — two parts of 4 and 4 kilos).


题意:给定一个数w,问能否分成两部分并且每部份都是偶数

思路:w的值很小,暴力枚举两部分的值

代码:

n = int(raw_input())

isOk = False
for i in range(2,n):
    if i%2 == 0 and (n-2)%2 == 0:
       isOk = True
       break

if isOk:
    print "YES"
else:
    print "NO" 


第二题 5A

A. Chat Server's Outgoing Traffic
time limit per test
1 second
memory limit per test
64 megabytes
input
standard input
output
standard output

Polycarp is working on a new project called "Polychat". Following modern tendencies in IT, he decided, that this project should contain chat as well. To achieve this goal, Polycarp has spent several hours in front of his laptop and implemented a chat server that can process three types of commands:

  • Include a person to the chat ('Add'command).
  • Remove a person from the chat ('Remove'command).
  • Send a message from a person to all people, who are currently in the chat, including the one, who sends the message ('Send'command).

Now Polycarp wants to find out the amount of outgoing traffic that the server will produce while processing a particular set of commands.

Polycarp knows that chat server sends no traffic for 'Add' and 'Remove' commands. When 'Send' command is processed, server sendslbytes to each participant of the chat, wherelis the length of the message.

As Polycarp has no time, he is asking for your help in solving this problem.

Input

Input file will contain not more than 100 commands, each in its own line. No line will exceed 100 characters. Formats of the commands will be the following:

  • +<name>for'Add'command.
  • -<name>for'Remove'command.
  • <sender_name>:<message_text>for'Send'command.

<name>and<sender_name>is a non-empty sequence of Latin letters and digits.<message_text>can contain letters, digits and spaces, but can't start or end with a space.<message_text>can be an empty line.

It is guaranteed, that input data are correct, i.e. there will be no'Add'command if person with such a name is already in the chat, there will be no'Remove'command if there is no person with such a name in the chat etc.

All names are case-sensitive.

Output

Print a single number — answer to the problem.

Sample test(s)
input
+Mike
Mike:hello
+Kate
+Dmitry
-Dmitry
Kate:hi
-Kate
output
9
input
+Mike
-Mike
+Mike
Mike:Hi   I am here
-Mike
+Kate
-Kate
output
14

题意:有三种命令,"+name"是添加一个人,"-name"是删除一个人,"name:message"是这个人发了message给所有人,问最后总的发送的字节数

思路:直接暴力求解,利用Python的list

代码:

dict = []
sum = 0
# input
while True:
    try:
        str = raw_input()
    except:
        break
    if str[0] == '+':
        dict.append(str[1:])
    elif str[0] == '-':
        dict.remove(str[1:])
    else:
        length = len(str)  
        for i in range(length):
            if str[i] == ':':
               sum += (length-(i+1))*(len(dict))
               break
print sum


第三题 6A

A. Triangle
time limit per test
2 seconds
memory limit per test
64 megabytes
input
standard input
output
standard output

Johnny has a younger sister Anne, who is very clever and smart. As she came home from the kindergarten, she told his brother about the task that her kindergartener asked her to solve. The task was just to construct a triangle out of four sticks of different colours. Naturally, one of the sticks is extra. It is not allowed to break the sticks or use their partial length. Anne has perfectly solved this task, now she is asking Johnny to do the same.

The boy answered that he would cope with it without any difficulty. However, after a while he found out that different tricky things can occur. It can happen that it is impossible to construct a triangle of a positive area, but it is possible to construct a degenerate triangle. It can be so, that it is impossible to construct a degenerate triangle even. As Johnny is very lazy, he does not want to consider such a big amount of cases, he asks you to help him.

Input

The first line of the input contains four space-separated positive integer numbers not exceeding 100 — lengthes of the sticks.

Output

OutputTRIANGLEif it is possible to construct a non-degenerate triangle. OutputSEGMENTif the first case cannot take place and it is possible to construct a degenerate triangle. OutputIMPOSSIBLEif it is impossible to construct any triangle. Remember that you are to use three sticks. It is not allowed to break the sticks or use their partial length.

Sample test(s)
input
4 2 1 3
output
TRIANGLE
input
7 2 2 4
output
SEGMENT
input
3 5 9 1
output
IMPOSSIBLE


题意:给定4条线段,问能否组成三角形,如果可以输出"TRIANGLE",如果不能组成三角形但是会退化输出"SEGMENT",否则输出"IMPOSSIBLE"

思路:直接暴力枚举

代码:


sticks = raw_input().split()

# 判断能否组成三角形 
def isOk(x , y , z):
    if x+y > z and x+z > y and y+z > x:
        return True
    return False 

# 判断是否会退化
def judge(x , y , z):
    if x+y == z or x+z == y or y+z == x:
       return True
    return False

# 求ans
ans = "IMPOSSIBLE"
for i in range(4):
    for j in range(i+1,4):
        for k in range(j+1,4):
            if isOk(int(sticks[i]),int(sticks[j]),int(sticks[k])):
               ans = "TRIANGLE"
            if ans == "IMPOSSIBLE" and judge(int(sticks[i]),int(sticks[j]),int(sticks[k])):
               ans = "SEGMENT"
print ans



相关文章:

  • 微软云技术Windows Azure专题(三):如何利用Mobile向Windows商店应用推送消息(2)...
  • centos 6.2 关闭 IPV6
  • hdu1166敌兵布阵
  • WinForm_1初识WinForm编程
  • 变参函数——stdarg——printf——variable and function
  • 新视野OJ 2818: Gcd
  • 微软云技术Windows Azure专题(四):如何利用Mobile Service的计划程序连接到Service Bus定时推送消息...
  • Python 入门教程 16 ---- Introduction to Bitwise Operators
  • table与div对待边框的一点儿区别
  • 浅析人脸检测之Haar分类器方法
  • 震撼!!
  • Linux基本操作 7----- vi操作的详细信息
  • 基准电压——Reference voltage
  • linux下alias命令
  • 黑马程序员_properties,打印流,合并流,分割流
  • 实现windows 窗体的自己画,网上摘抄的,学习了
  • css的样式优先级
  • express + mock 让前后台并行开发
  • Intervention/image 图片处理扩展包的安装和使用
  • JavaScript 无符号位移运算符 三个大于号 的使用方法
  • JavaScript学习总结——原型
  • Java比较器对数组,集合排序
  • Mac 鼠须管 Rime 输入法 安装五笔输入法 教程
  • Magento 1.x 中文订单打印乱码
  • Mysql5.6主从复制
  • PV统计优化设计
  • Spring Cloud(3) - 服务治理: Spring Cloud Eureka
  • Swift 中的尾递归和蹦床
  • Traffic-Sign Detection and Classification in the Wild 论文笔记
  • vuex 学习笔记 01
  • 微信如何实现自动跳转到用其他浏览器打开指定页面下载APP
  • NLPIR智能语义技术让大数据挖掘更简单
  • Prometheus VS InfluxDB
  • # 日期待t_最值得等的SUV奥迪Q9:空间比MPV还大,或搭4.0T,香
  • #includecmath
  • #NOIP 2014#Day.2 T3 解方程
  • $.ajax()参数及用法
  • (3)选择元素——(14)接触DOM元素(Accessing DOM elements)
  • (PyTorch)TCN和RNN/LSTM/GRU结合实现时间序列预测
  • (Redis使用系列) Springboot 使用redis的List数据结构实现简单的排队功能场景 九
  • (读书笔记)Javascript高级程序设计---ECMAScript基础
  • (附源码)ssm高校运动会管理系统 毕业设计 020419
  • (实战篇)如何缓存数据
  • (完整代码)R语言中利用SVM-RFE机器学习算法筛选关键因子
  • (一)ClickHouse 中的 `MaterializedMySQL` 数据库引擎的使用方法、设置、特性和限制。
  • (原创) cocos2dx使用Curl连接网络(客户端)
  • (转)es进行聚合操作时提示Fielddata is disabled on text fields by default
  • (转载)VS2010/MFC编程入门之三十四(菜单:VS2010菜单资源详解)
  • .bat批处理(八):各种形式的变量%0、%i、%%i、var、%var%、!var!的含义和区别
  • .gitignore文件设置了忽略但不生效
  • .NET CLR Hosting 简介
  • .net oracle 连接超时_Mysql连接数据库异常汇总【必收藏】
  • .net(C#)中String.Format如何使用
  • @AutoConfigurationPackage的使用
  • @property @synthesize @dynamic 及相关属性作用探究