【hihoCoder】1051- 补签到卡(贪心 && 暴力)

题目链接:点击查看

记得这种题见了好几次了,每次都忘记补。

主要思想就是贪心,直接暴力即可。

AC代码:

#include<stdio.h>

int main(){
    int a[101];         //储存漏签天数
    int t,n,m;
    scanf("%d",&t);
    while(t--){
        a[0] = 0;        
        scanf("%d %d",&n,&m);
        for(int i=1;i<=n;i++)
            scanf("%d",&a[i]);
        if(n <= m)    //漏签天数小于补签卡数
            printf("100\n");
        else{
            int num = n - m;     
            int max = 0;
            for(int i=1;i<=num;i++){   //遍历所有连续的补签方法,找出最大值
                if((a[i+m]-a[i-1]) > max)
                    max = a[i+m] - a[i-1];
            }
            printf("%d\n",max-1);  //多数一天
        }
    }
    return 0;
} 
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
你可以使用Unity的网络功能与服务器进行通信,并结合配置表和来实现七天签到功能。以下是一个简单的示例代码: 首先,你需要编写一个脚本来处理与服务器的通信和奖励发放。我们将这个脚本称为`SignManager`。在`SignManager`脚本中,你可以编写以下代码: ```csharp using UnityEngine; using UnityEngine.Networking; public class SignManager : MonoBehaviour { private const string serverURL = "http://yourserverurl.com/signin"; // 服务器接口地址 public void SignIn() { StartCoroutine(SendRequest()); } public void SignInWithCard() { StartCoroutine(SendRequest(true)); } private IEnumerator SendRequest(bool useCard = false) { // 发送请求到服务器 UnityWebRequest www = UnityWebRequest.Get(serverURL + "?useCard=" + useCard); yield return www.SendWebRequest(); if (www.result == UnityWebRequest.Result.Success) { // 解析服务器返回的数据 string response = www.downloadHandler.text; int day = int.Parse(response); // 解析签到天数 // 根据签到天数从配置表中获取奖励 RewardData reward = GetRewardFromConfig(day); // 发放奖励 GrantReward(reward); } else { Debug.LogError("Server request failed: " + www.error); } } private RewardData GetRewardFromConfig(int day) { // 从配置表中获取对应天数的奖励 // 这里可以根据你的需求自行实现,比如从JSON或XML文件读取配置数据 RewardData reward = new RewardData(); reward.day = day; reward.rewardName = "Reward " + day; return reward; } private void GrantReward(RewardData reward) { // 这里可以实现根据奖励的具体内容发放奖励的逻辑 // 比如增加玩家的金币、道具等 Debug.Log("Day " + reward.day + " reward: " + reward.rewardName + " granted!"); } } public struct RewardData { public int day; // 签到天数 public string rewardName; // 奖励名称 } ``` 在上述代码中,我们添加了一个新的方法`SignInWithCard`,用于处理使用进行签到的逻辑。当玩家点击使用进行签到时,你可以调用`SignInWithCard`方法。 在`SendRequest`方法中,我们在请求URL中添加了一个参数`useCard`,用于告诉服务器是否使用。服务器可以根据这个参数来判断是否需要扣除的数量。 请注意,上述代码只是一个简单的示例,你需要根据你的实际需求进行适当的修改和扩展。例如,你可能需要在服务器端实现的扣除逻辑,并在客户端处理的数量等。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值