定义set记录已出现材料,每次输入材料:
(1)查询该材料是否在set中出现过,若出现过则直接看下一个输入,避免重复计数
(2)若未出现则插入set,且计数+1
#include using namespace std; int main() { set material_set; string str; int sum=0; while( cin>>str ) { if( material_set.find( str ) != material_set.end() ) continue; material_set.insert(str); sum++; } cout<<sum<<endl; return 0; }