联想算法题-石头剪刀布

简介: 联想算法题-石头剪刀布

联想算法题-石头剪刀布

问题描述

剪刀石头布是一种常见的猜拳游戏,当玩家人数为两人时,它的规则如下:在每一轮中,双方分别同时给出石头(Rock)、剪刀(Scissor)和布(Paper)这三种手势中的一种。石头战胜剪刀;剪刀战胜布;布战胜石头。若双方给出的手势一样则本轮平局,双方分数不变;否则胜方积1分。

现在Alice和Bob想进行若干轮猜拳游戏,但他们不想逐轮进行游戏,于是决定分别在纸上写下他们每一轮要出的手势。作为裁判的你需要根据他们所写下的手势判断他们的比分是多少。

输入描述

第一行是一个正整数T,表示他们想进行的轮数。

第二行包含T个空格隔开的字符串s_1, s_2, …, s_T,其中s_i表示Alice写下的第i轮要出的手势。

第三行包含T个空格隔开的字符串t_1, t_2, …, t_T,其中t_i表示Bob写下的第i轮要出的手势。

所有的s_i和t_i均是”Rock”,”Scissor”,”Paper”中的一种。

输出描述

输出两个用空格隔开的整数x y,其中x表示Alice的得分,y表示Bob的得分。

输入样例1

3

Rock Rock Rock

Rock Paper Scissor

输出样例1

1 1

数据范围和说明

30%的数据保证:3<=T<=10

80%的数据保证:3<=T<=100

100%的数据保证 :3<=T<=500

算法思路:

这个题的思路模拟,简单的过程模拟

#include<iostream>
using namespace std;
#include<vector>
int main()
{
    int t;
    cin >> t;
    vector<string> a;
    vector<string> b;
    string str;
    int res1 = 0;
    int res2 = 0;
    for (int i = 0; i < t; ++ i)    
    {
        cin >> str;
        a.push_back(str);
    }
    for (int i = 0; i < t; ++ i)    
    {
        cin >> str;
        b.push_back(str);
    }
    for (int i = 0; i < t; ++ i)
    {
        if (a[i] == b[i]) continue;
        else if (a[i] == "Rock" && b[i] == "Paper") res2 ++;
        else if (a[i] == "Scissor" && b[i] == "Rock") res2 ++;
        else if (a[i] == "Paper" && b[i] == "Scissor") res2 ++;
        else res1 ++;
    }
    cout << res1 << " " << res2;
    return 0;
}
相关文章
|
6月前
|
存储 算法 索引
模拟算法题练习(二)(DNA序列修正、无尽的石头)
模拟算法题练习(二)(DNA序列修正、无尽的石头)
|
6月前
|
算法
算法刷题(二十二):宝石与石头
算法刷题(二十二):宝石与石头
67 0
|
6月前
|
人工智能 算法
前缀和算法题(区间次方和、小蓝平衡和、大石头的搬运工、最大数组和)
前缀和算法题(区间次方和、小蓝平衡和、大石头的搬运工、最大数组和)
|
6月前
|
算法
联想算法题-搬砖人
联想算法题-搬砖人
48 1
|
6月前
|
算法 测试技术
联想算法题-小朋友分糖果
联想算法题-小朋友分糖果
39 0
|
6月前
|
算法
联想算法题-发牌序列
联想算法题-发牌序列
36 0
|
算法 测试技术 容器
代码随想录算法训练营第四十二天 | LeetCode 1049. 最后一块石头的重量 II、494. 目标和、474. 一和零
代码随想录算法训练营第四十二天 | LeetCode 1049. 最后一块石头的重量 II、494. 目标和、474. 一和零
44 1
|
11月前
|
算法 测试技术 C#
C++前缀和算法的应用:石头游戏 VIII 原理源码测试用例
C++前缀和算法的应用:石头游戏 VIII 原理源码测试用例
|
11月前
|
算法 测试技术 C#
C++前缀和算法:合并石头的最低成本原理、源码及测试用例(二)
C++前缀和算法:合并石头的最低成本原理、源码及测试用例
|
11月前
|
机器学习/深度学习 算法 测试技术
C++前缀和算法:合并石头的最低成本原理、源码及测试用例(一)
C++前缀和算法:合并石头的最低成本原理、源码及测试用例