文章

8

粉丝

0

获赞

44

访问

1.9k

头像
只通过了80%,不知道为什么
P1811 复旦大学机试
发布于2025年3月16日 15:34
阅读数 279

//我的思路是把数字和x全移到左边,计算数字和以及x的系数和,然后判断解
#include <bits/stdc++.h>
using namespace std;

void hanshu(string a) {
    stack<int> s; 
    stack<int> c; 
    int flag = 1; //式子右边移到左边要乘-1
    int ans1 = 0; 
    int ans2 = 0; 
    int flag2=1;//原本的符号
  for (unsigned int i = 0; i < a.size(); i++) 
  {
        if (isdigit(a[i])) 
        {
            int ans = 0;
            while (i < a.size() && isdigit(a[i])) 
            {
                ans = ans * 10 + (a[i] - '0');
                i++;
            }
            i--; // 因为for循环会自...

登录查看完整内容


登录后发布评论

3 条评论
admin SVIP
2025年3月16日 19:13


把过程打印出来可以看到,转移的时候正负号出了问题

赞(0)

admin : 回复 admin: 准确的说没有处理好x前面没有系数的情况,当遍历到等号后的x时,s由于没有push系数1,导致c拿到是上一个s里的系数4

2025年3月16日 19:26

sheep276 : 回复 admin: 是这个问题,通过了,感谢感谢

2025年3月16日 20:23