1、模擬n個人參加選舉的過程,並輸出選舉結果:假設候選人有四人,分別用「a」、」b」、」c」、」d」表示,選舉時開始計票, 若輸入的不是「a」、」b」、」c」、」d」則視為無效票。選舉結束後獲取各個候選人的得票數以及無效票的個數,輸出結果以新增候選人的順序進行順序輸出,最後一行為無效的數量。同時getvoteresult命令為結束命令。
輸入為多行形式輸入,每一行為一條命令。輸入的命令只會是有效命令且不存在非法命令,但可能存在非法的投票,上面已經描述了。
新增候選人的命令如下:addcandidate為命令 xx1為候選人:
addcandidate xx1
投票的命令如下:vote為命令 xx1為候選人的字串:
vote xx1
統計投票的命令如下:getvoteresult為命令:
getvoteresult
void main()
if(commond == vote)
std::cin>>commond;
} std::vector::iterator iter = candidate.begin();
while(iter != candidate.end()) }
void main()
start = i;
end = i;
} std::cout< -1) }
if(i + 1 < n) }
if(j - 1 > -1) }
if(j + 1 < m) }
return false;
}void main()
} int i = 0;
int j = 0;
bool found = false;
for(i = 0;!found && i < n; ++i)
}} if(!found)
if(foundword(matrix,n,m,i,j,words,1))
std::cout<<"yes";
else
std::cout<<"no";
system("pause");
}
上乙個**中存在乙個明顯的問題,就是假設首個字母出現多次的情形下,無法正常判斷
typedef struct _position
_position(int r,int c)
}position,*positionptr;
void main()
char *matrix = new char[n * m];
for(int i = 0; i < n; i++) }
for(int i = 0; i < n; i++)
}} //記錄的位置<-1,-1>,《真實位置》
//對記錄進行查詢,並判斷是否連續,如何進行判斷
//使用棧操作,將多個可行節點入棧
std::pairstack[10];//int 是word中下標, positiono下標字母對應座標
int top = 0;//指向棧頂
map_size count = record.count(words.at(0));
std::multimap::iterator iter = record.find(words.at(0));
iter++;//首個為<-1,-1>
for(map_size cnt = 1; cnt != count; cnt++,iter++)
while(top != 0)//堆疊操作 }
std::cout<<"no"<
2015屆華為校園招聘機試題
第一題 60分 按要求分解字串,輸入兩個數m,n m代表輸入的m串字串,n代表輸出的每串字串的位數,不夠補0。例如 輸入2,8,abc 123456789 則輸出為 abc00000 12345678 90000000 cpp view plain copy include include usin...
2015屆華為校園招聘機試題
include include using namespace std void solve char str int n int len else putchar printf n int main void return 0 第一題 拼音轉數字 輸入是乙個只包含拼音的字串,請輸出對應的數字序列。...
2015屆華為校園招聘機試題二
include include include includeusing namespace std 輸入是乙個只包含拼音的字串,請輸出對應的數字序列。轉換關係如下 描述 拼音 yi er san si wu liu qi ba jiu 阿拉伯數字 1 2 3 4 5 6 7 8 9 輸入字元只包含...