求改
  • 板块灌水区
  • 楼主HZY1618yzh
  • 当前回复1
  • 已保存回复1
  • 发布时间2024/11/1 20:29
  • 上次更新2024/11/1 22:42:07
查看原帖
求改
1394471
HZY1618yzh楼主2024/11/1 20:29
#include <bits/stdc++.h>
using namespace std;
int t[3]={3,2,6};
void setDice(const char d){
	int u,f,r;
	switch(d){
		case 'R':
			u=7-t[2];
			f=t[1];
			r=t[0];
			break;
		case 'D':
			u=7-t[1];
			f=t[0];
			r=t[2];
			break;
		case 'U':
			u=t[1];
			f=7-t[0];
			r=t[2];
			break;
	}
	t[0]=u;
	t[1]=f;
	t[2]=r;
	return;
}
int main(){
	int r,c,sum=0;
	bool flag= true;
	cin>>r>>c;
	for(int i=1;i<=c;i++){
		if(flag){
			for(int j=1;j<r;j++){
				sum+=t[0];
				setDice('D');
			}
		}else{
			for(int j=r;j>1;j--){
				sum+=t[0];
				setDice('U');
			}
		}
		sum+=t[0];
		setDice('R');
		flag=!flag;
	}
	cout<<sum;
	return 0;
}

题目描述:骰子游戏是一种益智游戏。骰子游戏的地图是一个R*C的网格图。一开始骰子的状态为上面为3正面为2右面为6, 位置位于左上角。然后我们需要滚动骰子轨迹为:自第一行最左端开始,到最下端之后,向右滚动一格,从倒数第二列最下端滚动到 最上端,再向右滚动,如此反复直到倒数第二列,求此过程中每到达一格,骰子的上方点数之和。 输入描述:两个整数R,C。 输出描述:骰子的上方点数之和。

样例输入: 3 3 样例输出: 24

2024/11/1 20:29
加载中...