四个瓷瓶的神秘游戏

#include<bits/stdc++.h>
using namespace std;
using ll = long long;
ll a[5];
int main()
{
  for(int i=1;i<=4;i++) cin>>a[i];
  sort(a+1,a+1+4);
  //珍珠个数都相等时
  if(a[1]==a[2]==a[3]==a[4]) 
  {
    cout<<3*a[1]<<endl;
    return 0;
  }

  //第一种特殊情况:当存在珍珠等于0其他珍珠都相同时
  if(a[1]==0&&a[2]==a[3]==a[4]) {
    cout<<a[2]*2<<endl;
    return 0;
  }

  ll ans = a[4]+2*a[1];
  a[2]-=a[1];
  ans+=a[2]/3*3;//计算还能有多少个3,也就是多少个循环
  
  if(a[2]%3 == 2) ans++;//若a[2]=2
  // 0 2 3 14
  // 2 1 2 13
  // 1 0 1 15
  // 最后的14比15多了1
  cout<<ans<<endl;
  return 0;
}

### 绘制青花瓷瓶的Processing代码示例 以下是使用Processing绘制一个简单青花瓷瓶的代码示例。代码中包含基本的形状绘制和颜色配置,以模拟青花瓷瓶的外观。 ```processing void setup() { size(800, 600); // 设置画布大小 background(255); // 背景为白色 smooth(); // 平滑处理 } void draw() { noLoop(); // 只绘制一次 drawBlueAndWhiteVase(); } void drawBlueAndWhiteVase() { // 设置青花瓷瓶的颜色和轮廓 stroke(0, 0, 255); // 青花蓝色线条 fill(255, 255, 255); // 白色填充 strokeWeight(2); // 线条宽度 // 绘制瓶子的基本形状 beginShape(); vertex(width / 2 - 100, height / 2 + 150); // 瓶底左侧 bezierVertex(width / 2 - 50, height / 2 + 100, width / 2 - 30, height / 2 - 50, width / 2, height / 2 - 100); // 左侧曲线 bezierVertex(width / 2 + 30, height / 2 - 50, width / 2 + 50, height / 2 + 100, width / 2 + 100, height / 2 + 150); // 右侧曲线 endShape(CLOSE); // 添加青花纹饰 pushMatrix(); translate(width / 2, height / 2); for (int i = 0; i < 10; i++) { rotate(TWO_PI / 10); // 每次旋转36度 drawPattern(); } popMatrix(); } void drawPattern() { stroke(0, 0, 255); // 青花蓝色 noFill(); // 不填充 strokeWeight(2); // 线条宽度 // 绘制简单的青花纹饰 beginShape(); vertex(-50, -80); // 花纹起点 bezierVertex(-40, -70, -30, -60, -20, -50); // 曲线1 bezierVertex(-10, -40, 0, -30, 10, -20); // 曲线2 bezierVertex(20, -10, 30, 0, 40, 10); // 曲线3 endShape(); } ``` 上述代码通过`bezierVertex`函数创建平滑的曲线来模拟青花瓷瓶的外形[^1]。同时,通过旋转矩阵`rotate`和循环结构在瓶子表面绘制重复的青花纹饰[^2]。 #### 注意事项 - `stroke`和`fill`函数用于设置线条颜色和填充颜色。 - `bezierVertex`函数用于创建贝塞尔曲线,使瓶子的外形更加圆润自然。 - `pushMatrix`和`popMatrix`用于保存和恢复坐标系状态,确保图案绘制时不会影响其他部分。
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值