本文共 927 字,大约阅读时间需要 3 分钟。
2016-2017 ACM中部地区的俄罗斯四分之一决赛编程比赛 D.气象站 阿尔伯特是一个着名的发明家。他是设计电子天气的人 站定期跟踪各种天气参数并记录结果 的测量。在扫描气象站记录时,阿尔伯特 发现了一个重要的遗漏:风向数据记录在一行 没有任何分隔符。阿尔伯特好奇有多少不同 解决方案将是如果他试图恢复原始的测量序列。 发明人希望你知道该站区分了八种不同的风 方向,并用一个或两个字符对它们中的每一个进行编码。此外,他 已经绘制了与气象站使用的风向符号的图片。 你的任务是编写一个程序来计算数字 基于天气的特定记录的原始序列 站数据。 Albert意识到结果数字可能是 相当大,所以你的任务只是计算的值 模109 + 7。 限制 输入线的长度不超过105 。 输入 输入文件由一行包含由天气创建的记录组成 站。记录是包含字符N,S,W的风向值的行, 和E. 输出 输出文件必须包含整数个可能的解,模为109 + 7。 例子 Input.txt Output.txt NEWS 2 EWNS 1 注意 第一示例中的线具有两个解:{N,E,W,S}和{NE,W,S}。 第二个例子中的行有一个解:{E,W,N,S}。
//// main.cpp// 160610//// Created by liuzhe on 16/6/10.// Copyright © 2016年 my_code. All rights reserved.//#include#include #include #include #include #include using namespace std;int main(){ freopen("input.txt","r",stdin); freopen("output.txt","w",stdout); string s; while(cin>>s) { long long ans=1; int t=1e9+7; int len = s.length(); for(int i=0;i
转载地址:http://dpali.baihongyu.com/