PIPIOJ 1314 1067 1069

在这里插入图片描述
在这里插入图片描述

#include<bits/stdc++.h>
using namespace std;
struct node{
    long long a,b;
    long long g,k;
}A[10005]; //a b表示地毯的左下角坐标,g k表示地毯x y方向的长度
main()
{
    int n,flag;
    long long x,y; //数据范围为1e18,用long long存储
    scanf("%d",&n);
    for(int i=1;i<=n;i++)
    {
        scanf("%lld %lld %lld %lld",&A[i].a,&A[i].b,&A[i].g,&A[i].k);
    }
    scanf("%lld %lld",&x,&y);
    for(int i=n;i>0;i--)
    {
        flag=0;
        if(x>=A[i].a&&x<=(A[i].a+A[i].g)&&y>=A[i].b&&y<=(A[i].b+A[i].k))
        {//点的坐标在地毯覆盖的区域
            printf("%d",i);
            flag=1;
            break;
        }
    }
    if(flag==0)//点的坐标不在n块地毯覆盖的范围内
        printf("-1");
}

在这里插入图片描述
在这里插入图片描述

#include<bits/stdc++.h>
using namespace std;
main()
{
    int n,m;
    char str[103];
    int a[105];
    scanf("%d",&n);
    while(n--)
    {
        int ans=0; //记录最终的位置
        scanf("%d",&m);
        for(int i=0;i<m;i++)
        {
            scanf("%s",str);
            if(str[0]=='L') //字符串的第一个字母为L
                a[i]=-1;
            else if(str[0]=='R')//字符串的第一个字母为R
                a[i]=1;
            else{
                int t;
                scanf("%s %d",str,&t); //%s吸收AS,%d接收i的值
                a[i]=a[t-1];
            }
            ans+=a[i];
        }
        printf("%d\n",ans);
    }
}

在这里插入图片描述
在这里插入图片描述

#include<bits/stdc++.h>
using namespace std;
int a[4][2]= {{0,1},{1,0},{0,-1},{-1,0}}; //二维数组切记都是花括号
int main()
{
    int m;
    while(scanf("%d",&m)!=EOF)
    {
        double x=0,y=0;
        int dir=0;
        while(m--)
        {
            char s[10];
            scanf("%s",s);
            if(s[0]=='T')
            {
                dir=(dir+1)%4; //当字符串的第一个字符为T时,dir向右转90度,对4取模
            }
            else
            {
                double num;
                scanf("%lf",&num);
                x=x+a[dir][0]*num; //求出向x方向或y方向的距离
                y=y+a[dir][1]*num;
            }
        }
        printf("%.3f %.3f\n",x,y);//输出保留3位小数
    }
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
根据引用,用户在做题时遇到了一个问题。他使用了getline(cin, s),但是结果却没有通过。他将代码中的getline改为了cin >> s后,代码通过了。根据,题目中提到只有左括号和右括号,所以用户一开始的判断条件没有判断右括号,导致出现错误33%。加上这个判断条件后,代码通过了。 根据引用,提供了一段C++参考代码,该代码用于处理括号匹配的问题。它使用了栈来判断左括号和右括号是否匹配,并输出匹配的位置。 根据以上信息,pipioj1036题可能是一个括号匹配的问题。用户可能遇到了一些细节问题,导致代码没有通过。我建议用户仔细检查代码,确保正确处理左括号和右括号的匹配关系,并且注意题目中给出的特殊要求。<span class="em">1</span><span class="em">2</span><span class="em">3</span> #### 引用[.reference_title] - *1* *3* [PIPIOJ-1036: 括号匹配](https://blog.csdn.net/mongchu/article/details/117439999)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] - *2* [PIPIOJ 1036: 括号匹配](https://blog.csdn.net/qq_46139801/article/details/115276974)[target="_blank" data-report-click={"spm":"1018.2226.3001.9630","extra":{"utm_source":"vip_chatgpt_common_search_pc_result","utm_medium":"distribute.pc_search_result.none-task-cask-2~all~insert_cask~default-1-null.142^v92^chatsearchT3_1"}}] [.reference_item style="max-width: 50%"] [ .reference_list ]

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值