zoukankan      html  css  js  c++  java
  • Topcoder SRM654 DIV2 250 SquareScoresDiv2

    题意:给你一个字符串,算它的值,单个值为1  连续的值为累加和。

    解题思路:水

    解题代码:

      

      1 // BEGIN CUT HERE
      2 /*
      3 
      4 */
      5 // END CUT HERE
      6 #line 7 "SquareScoresDiv2.cpp"
      7 #include <cstdlib>
      8 #include <cctype>
      9 #include <cstring>
     10 #include <cstdio>
     11 #include <cmath>
     12 #include <algorithm>
     13 #include <vector>
     14 #include <string>
     15 #include <iostream>
     16 #include <sstream>
     17 #include <map>
     18 #include <set>
     19 #include <queue>
     20 #include <stack>
     21 #include <fstream>
     22 #include <numeric>
     23 #include <iomanip>
     24 #include <bitset>
     25 #include <list>
     26 #include <stdexcept>
     27 #include <functional>
     28 #include <utility>
     29 #include <ctime>
     30 using namespace std;
     31 
     32 #define PB push_back
     33 #define MP make_pair
     34 
     35 #define REP(i,n) for(i=0;i<(n);++i)
     36 #define FOR(i,l,h) for(i=(l);i<=(h);++i)
     37 #define FORD(i,h,l) for(i=(h);i>=(l);--i)
     38 
     39 typedef vector<int> VI;
     40 typedef vector<string> VS;
     41 typedef vector<double> VD;
     42 typedef long long LL;
     43 typedef pair<int,int> PII;
     44 
     45 
     46 class SquareScoresDiv2
     47 {
     48         public:
     49         int getscore(string s)
     50         {
     51            int t = 1 ; 
     52            int sum = 0 ; 
     53            int len = s.size();
     54            for(int i = 1 ;i < s.size(); i ++)
     55            {
     56                 if(s[i] != s[i-1])
     57                 {
     58                   int tsum = 0 ; 
     59                    for(int j = 1; j <= t; j ++ )
     60                    {
     61                      tsum += j ;
     62                    }
     63                    sum += tsum  ;
     64                    t = 1 ;
     65                 }else{
     66                   t ++ ; 
     67                 }
     68            }
     69            int tsum = 0 ; 
     70            for(int j = 1; j <= t ;j ++)
     71            {
     72             tsum += j ; 
     73            }
     74            return sum + tsum ; 
     75         }
     76         
     77 // BEGIN CUT HERE
     78     public:
     79     void run_test(int Case) { if ((Case == -1) || (Case == 0)) test_case_0(); if ((Case == -1) || (Case == 1)) test_case_1(); if ((Case == -1) || (Case == 2)) test_case_2(); if ((Case == -1) || (Case == 3)) test_case_3(); if ((Case == -1) || (Case == 4)) test_case_4(); }
     80     private:
     81     template <typename T> string print_array(const vector<T> &V) { ostringstream os; os << "{ "; for (typename vector<T>::const_iterator iter = V.begin(); iter != V.end(); ++iter) os << '"' << *iter << "","; os << " }"; return os.str(); }
     82     void verify_case(int Case, const int &Expected, const int &Received) { cerr << "Test Case #" << Case << "..."; if (Expected == Received) cerr << "PASSED" << endl; else { cerr << "FAILED" << endl; cerr << "	Expected: "" << Expected << '"' << endl; cerr << "	Received: "" << Received << '"' << endl; } }
     83     void test_case_0() { string Arg0 = "aaaba"; int Arg1 = 8; verify_case(0, Arg1, getscore(Arg0)); }
     84     void test_case_1() { string Arg0 = "zzzxxzz"; int Arg1 = 12; verify_case(1, Arg1, getscore(Arg0)); }
     85     void test_case_2() { string Arg0 = "abcdefghijklmnopqrstuvwxyz"; int Arg1 = 26; verify_case(2, Arg1, getscore(Arg0)); }
     86     void test_case_3() { string Arg0 = "p"; int Arg1 = 1; verify_case(3, Arg1, getscore(Arg0)); }
     87     void test_case_4() { string Arg0 = "aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa"; int Arg1 = 5050; verify_case(4, Arg1, getscore(Arg0)); }
     88 
     89 // END CUT HERE
     90 
     91 };
     92 
     93 // BEGIN CUT HERE
     94 int main()
     95 {
     96         SquareScoresDiv2 ___test;
     97         ___test.run_test(-1);
     98         return 0;
     99 }
    100 // END CUT HERE
    View Code
    没有梦想,何谈远方
  • 相关阅读:
    Atitit attilax要工作研究的要素 纪要 方案 趋势 方向 概念 理论
    Atitit 常见每日流程日程日常工作.docx v7 r8f
    Atitit it 互联网 软件牛人的博客列表
    Atitit 信息链(Information Chain)的概念理解 attilax总结
    Atitit 知识点的体系化 框架与方法 如何了解 看待xxx
    Atitit 聚合搜索多个微博 attilax总结
    Atitit 企业知识管理PKM与PIM
    Atitit 项目沟通管理 Atitit 沟通之道 attilax著.docx
    Atitit 项目管理软件 在线服务 attilax总结 1. 项目管理协作的历史 1 1.1. Worktile 406k 1 1.2. Teambition  584k in baidu
    Atitit.每周末总结 于每周一计划日程表 流程表 v8 import 上周遗漏日志补充 检查话费 检查流量情况 Crm问候 Crm表total and 问候
  • 原文地址:https://www.cnblogs.com/zyue/p/4368946.html
Copyright © 2011-2022 走看看