#include<iostream>
#include<vector>
#include<string>
#include <map>
#include<iterator>
#include <algorithm>
using namespace std;
int criterion; //分數線
pair< string, int > function1( pair< string, int > &p )
{
if( p.second >= criterion )
return p;
}
bool function2( pair< string, int > &a ,pair< string, int > &b )
{
return a.second < b.second;
}
int main()
{
int examinees; //考生人數
int question_n; //題數
while( cin >> examinees && examinees != 0 && cin >> question_n >> criterion )
{
map<string,int> course;
vector<int> que_cource;
int tmp;
//輸入題目的分數
while( question_n-- != 0 && cin >> tmp )
que_cource.push_back( tmp );
while( examinees-- != 0 )
{
string name; //姓名
int solve; //解題數
cin >> name >> solve;
course.insert( make_pair(name,0) );
int n;
int sum = 0; //總分
while( solve-- != 0 && cin >> n )
{
sum += que_cource[n-1];
}
//記錄該學生總分
course[name] = sum;
}
//符合人數
map<string,int> out;
transform( course.begin(),course.end(), back_inserter(out), function1 );
//排序
sort( out.begin(), out.end(), function2 );
map<string,int>::iterator iter = out.begin();
//輸出結果
cout << out.size() << endl;
for( ; iter != out.end(); iter++ )
{
cout << iter->first << " " << iter->second << endl;
}
}
return 0;
}
出現了這樣的錯誤:
1>------ 已啟動生成: 專案: 排名, 配置: Debug Win32 ------
1>生成啟動時間為 2013/5/14 15:33:37。
1>InitializeBuildStatus:
1> 正在對“Debug\排名.unsuccessfulbuild”執行 Touch 任務。
1>ClCompile:
1> main.cpp
1>e:\microsoft visual studio 10.0\vc\include\algorithm(3806): error C2784: “_RanIt1::difference_type std::operator -(std::move_iterator<_RanIt> &,const std::move_iterator<_RanIt2> &)”: 未能從“std::_Tree_iterator<_Mytree>”為“std::move_iterator<_RanIt> &”推導 模板 引數
1> with
1> [
1> _Mytree=std::_Tree_val<std::_Tmap_traits<std::string,int,std::less<std::string>,std::allocator<std::pair<const std::string,int>>,false>>
1> ]
1> e:\microsoft visual studio 10.0\vc\include\iterator(344) : 參見“std::operator -”的宣告
1> e:\visual studio 2010\projects\acm\排名\排名\main.cpp(63): 參見對正在編譯的函式 模板 實體化“void std::sort<std::_Tree_iterator<_Mytree>,bool(__cdecl *)(std::pair<_Ty1,_Ty2> &,std::pair<_Ty1,_Ty2> &)>(_RanIt,_RanIt,_Pr)”的參考
1> with
1> [
1> _Mytree=std::_Tree_val<std::_Tmap_traits<std::string,int,std::less<std::string>,std::allocator<std::pair<const std::string,int>>,false>>,
1> _Ty1=std::string,
1> _Ty2=int,
1> _RanIt=std::_Tree_iterator<std::_Tree_val<std::_Tmap_traits<std::string,int,std::less<std::string>,std::allocator<std::pair<const std::string,int>>,false>>>,
1> _Pr=bool (__cdecl *)(std::pair<std::string,int> &,std::pair<std::string,int> &)
1> ]
1>e:\microsoft visual studio 10.0\vc\include\algorithm(3806): error C2784: “_RanIt1::difference_type std::operator -(std::move_iterator<_RanIt> &,const std::move_iterator<_RanIt2> &)”: 未能從“std::_Tree_iterator<_Mytree>”為“std::move_iterator<_RanIt> &”推導 模板 引數
1> with
1> [
1> _Mytree=std::_Tree_val<std::_Tmap_traits<std::string,int,std::less<std::string>,std::allocator<std::pair<const std::string,int>>,false>>
1> ]
1> e:\microsoft visual studio 10.0\vc\include\iterator(344) : 參見“std::operator -”的宣告
1>e:\microsoft visual studio 10.0\vc\include\algorithm(3806): error C2784: “_RanIt1::difference_type std::operator -(std::move_iterator<_RanIt> &,const std::move_iterator<_RanIt2> &)”: 未能從“std::_Tree_iterator<_Mytree>”為“std::move_iterator<_RanIt> &”推導 模板 引數
1> with
1> [
1> _Mytree=std::_Tree_val<std::_Tmap_traits<std::string,int,std::less<std::string>,std::allocator<std::pair<const std::string,int>>,false>>
1> ]
1> e:\microsoft visual studio 10.0\vc\include\iterator(344) : 參見“std::operator -”的宣告
1>e:\microsoft visual studio 10.0\vc\include\algorithm(3806): error C2784: “_RanIt1::difference_type std::operator -(std::move_iterator<_RanIt> &,const std::move_iterator<_RanIt2> &)”: 未能從“std::_Tree_iterator<_Mytree>”為“std::move_iterator<_RanIt> &”推導 模板 引數
1> with
1> [
1> _Mytree=std::_Tree_val<std::_Tmap_traits<std::string,int,std::less<std::string>,std::allocator<std::pair<const std::string,int>>,false>>
1> ]
1> e:\microsoft visual studio 10.0\vc\include\iterator(344) : 參見“std::operator -”的宣告
1>e:\microsoft visual studio 10.0\vc\include\algorithm(3806): error C2784: “_RanIt1::difference_type std::operator -(std::move_iterator<_RanIt> &,const std::move_iterator<_RanIt2> &)”: 未能從“std::_Tree_iterator<_Mytree>”為“std::move_iterator<_RanIt> &”推導 模板 引數
1> with
1> [
1> _Mytree=std::_Tree_val<std::_Tmap_traits<std::string,int,std::less<std::string>,std::allocator<std::pair<const std::string,int>>,false>>
1> ]
1> e:\microsoft visual studio 10.0\vc\include\iterator(344) : 參見“std::operator -”的宣告
1>e:\microsoft visual studio 10.0\vc\include\algorithm(3806): error C2784: “reverse_iterator<_RanIt>::difference_type std::operator -(const std::reverse_iterator<_RanIt> &,const std::reverse_iterator<_RanIt2> &)”: 未能從“std::_Tree_iterator<_Mytree>”為“const std::reverse_iterator<_RanIt> &”推導 模板 引數
1> with
1> [
1> _Mytree=std::_Tree_val<std::_Tmap_traits<std::string,int,std::less<std::string>,std::allocator<std::pair<const std::string,int>>,false>>
1> ]
1> e:\microsoft visual studio 10.0\vc\include\xutility(1332) : 參見“std::operator -”的宣告
1>e:\microsoft visual studio 10.0\vc\include\algorithm(3806): error C2784: “reverse_iterator<_RanIt>::difference_type std::operator -(const std::reverse_iterator<_RanIt> &,const std::reverse_iterator<_RanIt2> &)”: 未能從“std::_Tree_iterator<_Mytree>”為“const std::reverse_iterator<_RanIt> &”推導 模板 引數
1> with
1> [
1> _Mytree=std::_Tree_val<std::_Tmap_traits<std::string,int,std::less<std::string>,std::allocator<std::pair<const std::string,int>>,false>>
1> ]
1> e:\microsoft visual studio 10.0\vc\include\xutility(1332) : 參見“std::operator -”的宣告
1>e:\microsoft visual studio 10.0\vc\include\algorithm(3806): error C2784: “reverse_iterator<_RanIt>::difference_type std::operator -(const std::reverse_iterator<_RanIt> &,const std::reverse_iterator<_RanIt2> &)”: 未能從“std::_Tree_iterator<_Mytree>”為“const std::reverse_iterator<_RanIt> &”推導 模板 引數
1> with
1> [
1> _Mytree=std::_Tree_val<std::_Tmap_traits<std::string,int,std::less<std::string>,std::allocator<std::pair<const std::string,int>>,false>>
1> ]
1> e:\microsoft visual studio 10.0\vc\include\xutility(1332) : 參見“std::operator -”的宣告
1>e:\microsoft visual studio 10.0\vc\include\algorithm(3806): error C2784: “reverse_iterator<_RanIt>::difference_type std::operator -(const std::reverse_iterator<_RanIt> &,const std::reverse_iterator<_RanIt2> &)”: 未能從“std::_Tree_iterator<_Mytree>”為“const std::reverse_iterator<_RanIt> &”推導 模板 引數
1> with
1> [
1> _Mytree=std::_Tree_val<std::_Tmap_traits<std::string,int,std::less<std::string>,std::allocator<std::pair<const std::string,int>>,false>>
1> ]
1> e:\microsoft visual studio 10.0\vc\include\xutility(1332) : 參見“std::operator -”的宣告
1>e:\microsoft visual studio 10.0\vc\include\algorithm(3806): error C2784: “reverse_iterator<_RanIt>::difference_type std::operator -(const std::reverse_iterator<_RanIt> &,const std::reverse_iterator<_RanIt2> &)”: 未能從“std::_Tree_iterator<_Mytree>”為“const std::reverse_iterator<_RanIt> &”推導 模板 引數
1> with
1> [
1> _Mytree=std::_Tree_val<std::_Tmap_traits<std::string,int,std::less<std::string>,std::allocator<std::pair<const std::string,int>>,false>>
1> ]
1> e:\microsoft visual studio 10.0\vc\include\xutility(1332) : 參見“std::operator -”的宣告
1>e:\microsoft visual studio 10.0\vc\include\algorithm(3806): error C2784: “_Base1::difference_type std::operator -(const std::_Revranit<_RanIt,_Base> &,const std::_Revranit<_RanIt2,_Base2> &)”: 未能從“std::_Tree_iterator<_Mytree>”為“const std::_Revranit<_RanIt,_Base> &”推導 模板 引數
1> with
1> [
1> _Mytree=std::_Tree_val<std::_Tmap_traits<std::string,int,std::less<std::string>,std::allocator<std::pair<const std::string,int>>,false>>
1> ]
1> e:\microsoft visual studio 10.0\vc\include\xutility(1146) : 參見“std::operator -”的宣告
1>e:\microsoft visual studio 10.0\vc\include\algorithm(3806): error C2784: “_Base1::difference_type std::operator -(const std::_Revranit<_RanIt,_Base> &,const std::_Revranit<_RanIt2,_Base2> &)”: 未能從“std::_Tree_iterator<_Mytree>”為“const std::_Revranit<_RanIt,_Base> &”推導 模板 引數
1> with
1> [
1> _Mytree=std::_Tree_val<std::_Tmap_traits<std::string,int,std::less<std::string>,std::allocator<std::pair<const std::string,int>>,false>>
1> ]
1> e:\microsoft visual studio 10.0\vc\include\xutility(1146) : 參見“std::operator -”的宣告
1>e:\microsoft visual studio 10.0\vc\include\algorithm(3806): error C2784: “_Base1::difference_type std::operator -(const std::_Revranit<_RanIt,_Base> &,const std::_Revranit<_RanIt2,_Base2> &)”: 未能從“std::_Tree_iterator<_Mytree>”為“const std::_Revranit<_RanIt,_Base> &”推導 模板 引數
1> with
1> [
1> _Mytree=std::_Tree_val<std::_Tmap_traits<std::string,int,std::less<std::string>,std::allocator<std::pair<const std::string,int>>,false>>
1> ]
1> e:\microsoft visual studio 10.0\vc\include\xutility(1146) : 參見“std::operator -”的宣告
1>e:\microsoft visual studio 10.0\vc\include\algorithm(3806): error C2784: “_Base1::difference_type std::operator -(const std::_Revranit<_RanIt,_Base> &,const std::_Revranit<_RanIt2,_Base2> &)”: 未能從“std::_Tree_iterator<_Mytree>”為“const std::_Revranit<_RanIt,_Base> &”推導 模板 引數
1> with
1> [
1>
轉載請註明出處,本文鏈接:https://www.uj5u.com/houduan/146085.html
標籤:基礎類
上一篇:獲取當前瀏覽器的url
