扑克牌-第十四届蓝桥杯STEMA-C++中级组真题一T4
该比赛已结束,您无法在比赛模式下递交该题目。您可以点击“在题库中打开”以普通模式查看和递交本题。
第三题
编程实现: 扑克牌
题目描述:
有 N(N为正整数,且N≤50)张反面朝上的扑克牌排成一排,每次可以翻转任意 3 张扑克牌(正面翻转后为反面,反面翻转后为正面,且不考虑正面花色和点数),请问最少翻转几次可以将 N 张扑克牌全部翻转为正面。
例如:N=5,最少翻转 3 次可以使 5 张扑克牌全部翻转为正面朝上。
初始状态:
第 1 次:将第 1、2、3 张扑克牌进行翻转,翻转后如下图所示;
第 2 次:将第 1、2、4 张扑克牌进行翻转,翻转后如下图所示;
第 3 次:将第 1、2、5 张扑克牌进行翻转,翻转后如下图所示。
输入描述:
输入一个正整数 N(1≤N≤50),表示扑克牌的数量
输出描述:
输出一个整数,如果可以将 N 张反面朝上的扑克牌全部翻转为正面朝上,输出最少需要翻转的次数,否则输出-1
样例输入:
5
样例输出:
3