poj1598 测试数据通过但是wrong answer 求高手指点

问题描述

poj1598 测试数据通过但是wrong answer 求高手指点

1598 poj

#include <iostream>
#include <fstream>
#include <vector>
#include <string>
#include <algorithm>

using namespace std;

struct Excuse{
    string s;
    int n;
};
bool com(Excuse a,Excuse b){
    return a.n > b.n;
}

int main(){
    ifstream cin("aaa.txt");
    vector<string> vk;
    vector<Excuse>vs;
    int n, m;
    string sk;
    string s,ss;
    int knum;
    Excuse e;
    int line = 1;
    while (cin >> n >> m){
        vs.clear();
        vk.clear();
        //if (line != 1)cout << endl;

        for (int  i= 0; i < n; i++){
            cin >> sk;
            vk.push_back(sk);
        }
        getline(cin, ss);
        for (int j = 0; j < m; j++){
            getline(cin, ss);
            s = ss;
            //大写字母变小写
            for (int k = 0; k < s.size(); k++){
                if (s[k] >= 'A'&&s[k] <= 'Z')s[k] = s[k] + 32;
            }
            knum = 0;
            //扫描关键子
            for (int i = 0; i < vk.size(); i++){
                int kn = vk[i].size();
                for (int p = 0; p < s.size() - kn +1 ; p++){
                    //截取一个子串
                    string st = "";
                    for (int k = p; k < p + kn; k++){
                        st = st + s[k];
                    }

                    //关键字在句首,且关键字后一字符不是字母;
                    if (p == 0 && st == vk[i] && isalpha(s[p + kn])){
                        knum++;
                    }
                    //关键字在居中,且前后字符不是字母
                    else if (st == vk[i]
                        && !isalpha(s[p + kn])
                        && !isalpha(s[p - 1]))knum++;
                }               

            }
            e.s = ss;
            e.n = knum;
            vs.push_back(e);
        }
        sort(vs.begin(), vs.end(), com);
        cout << "Excute Set #" << line << endl;
        line++;
        for (int i = 0; i < vs.size(); i++){
            if (i != 0 &&vs[i].n < vs[i - 1].n)break;
            //else if (i != 0 && vs[i].s == vs[i - 1].s)continue;
            cout << vs[i].s << endl;
        }
        cout << endl;
    }

    system("pause");
}

解决方案

http://blog.csdn.net/mtawaken/article/details/7387867

解决方案二:

http://blog.csdn.net/lenleaves/article/details/8694273

时间: 2024-08-18 19:17:26

poj1598 测试数据通过但是wrong answer 求高手指点的相关文章

递归-一个比较复杂的级联删除问题 ,求高手指点

问题描述 一个比较复杂的级联删除问题 ,求高手指点 是这样的,现在要做一个通用的删除方法.删除一个配置项和其关联配置项,逻辑很复杂.首先,数据库结构大概是这样的:有N个配置项,每个配置项有一张表,每个配置项通过一个中间表和其他配置项关联.有一对一,也有一对多的.所谓配置项一般都是一种设备,有序列号CI,ROWID来区分标识,每个设备有唯一的CI,但ROWID不唯一,ROWID是递增的,用HISTORY字段来区分是否在用.新增一个设备时是新生成一个CIROWID,HISTORY为1,表示在用.而更

php iis mysql-用PHP实现excel数据导入数据库,但是提示500错误,服务器是IIS,求高手指点

问题描述 用PHP实现excel数据导入数据库,但是提示500错误,服务器是IIS,求高手指点 require_once ('PHPExcel.php');require_once ('PHPExcel/IOFactory.php');require_once ('PHPExcel/Reader/Excel5.php');if($_POST['leadExcel'] == ""true""){ $filename = $_FILES['inputExcel']['n

模板-求ireprot导致系统挂掉服务器内存溢出求高手指点

问题描述 求ireprot导致系统挂掉服务器内存溢出求高手指点 我用的ireport 制作的pdf模板最近在系统中时不时出现因为某个jasper文件导致系统挂掉,服务器内存被调用这个文件的一个进程占用完了但是再次在系统中打印预览这个文件又正常了.不存在数据量大的问题,求各位高手指点下可能是什么原因导致的!!

编程-求高手指点pajek数据预处理问题

问题描述 求高手指点pajek数据预处理问题 小弟刚接触pajek软件,录入数据时打算用excel2pajek将excel数据转换成.net格式.想将如图所示的数据一形式整理成数据二形式.但编程能力实在有限没想到什么办法,望高手指点!

visual c++-新手Visual C++ 2008编译汇编报错求高手指点!来人啊

问题描述 新手Visual C++ 2008编译汇编报错求高手指点!来人啊 正在创建临时文件"c:Documents and SettingsfengyuMy DocumentsVisual Studio 2008ProjectsmasmmasmDebugRSP00000F16563976.rsp",其内容为[/OUT:""C:Documents and SettingsfengyuMy DocumentsVisual Studio 2008Projectsmasm

调试-新手Visual C++ 2008编译汇编报错求高手指点!来人啊

问题描述 新手Visual C++ 2008编译汇编报错求高手指点!来人啊 正在创建临时文件"e:huibianmasmmasmDebugBAT00000135563700.bat",其内容为 [ @echo off ml.exe /c /nologo /Fo""Debug10.obj"" /I ""C:lnclude"" /W3 /Zi /errorReport:prompt /Ta.10.asm if

qt-konqueror汉化时报错求高手指点

问题描述 konqueror汉化时报错求高手指点 按照网上说的 把qconfig-qpe.h 中的qt_no_codec去掉 ,结果编译konqueror报错 :undifined reference to qtextcodec::loadcharmapfile(qstring)

6 0-vc++ link 运行错误 求高手指点

问题描述 vc++ link 运行错误 求高手指点 具体怎么回事 我也不知道 请看代码及错误提示:Microsoft Developer Studio Workspace File Format Version 6.00 WARNING: DO NOT EDIT OR DELETE THIS WORKSPACE FILE! ############################################################################### Project

preparedstatement-PreparedStatement 在oracle11g 很慢,求高手指点

问题描述 PreparedStatement 在oracle11g 很慢,求高手指点 原来用oracle xe11访问速度很快,升级到oracle11g,很慢 调试发现只要preparedStatement 使用set方法传递参数,速度就很慢,盼高手指点 具体代码 解决方案 贴出你的查询语句和代码. 你是怎么得到"preparedStatement使用set很慢"的,和什么对比的. 解决方案二: 同一个sql,在xe11里就快,oracle11g就慢,而且发现不用set方法,两个速度