xiaosi4081 发表于 2022-11-26 21:41:46

zhangjinxuan 发表于 2022-11-26 14:00


证明也超级简单(doge
思路也超级简单(doge
水蓝实锤

高山 发表于 2022-11-27 11:59:56

我觉得你不用发在C\C++版块吧
我们每周一练也收录Python 的题目呀 ?
建议发在吹水阁

zhangjinxuan 发表于 2022-11-27 13:55:57

高山 发表于 2022-11-27 11:59
我觉得你不用发在C\C++版块吧
我们每周一练也收录Python 的题目呀 ?
建议发在吹水阁

嗯,有道理{:10_256:}

@不二如是 ,打扰一下,可以将这个帖子移动到 吹水阁 板块吗?万分感谢{:10_254:}

Jason茗 发表于 2022-11-27 13:58:56

zhangjinxuan 发表于 2022-11-27 13:55
嗯,有道理

@不二如是 ,打扰一下,可以将这个帖子移动到 吹水阁 板块吗?万分感谢{:10_254 ...

那个啥,我刚才看到你的好友申请了,结果系统不让我加你{:10_266:}

zhangjinxuan 发表于 2022-11-27 15:36:16

Jason茗 发表于 2022-11-27 13:58
那个啥,我刚才看到你的好友申请了,结果系统不让我加你

初级鱼油好像不能加好友{:10_266:}

zhangjinxuan 发表于 2022-11-27 15:36:33

Jason茗 发表于 2022-11-27 13:58
那个啥,我刚才看到你的好友申请了,结果系统不让我加你

评分助升级{:10_282:}

Jason茗 发表于 2022-11-27 18:03:55

zhangjinxuan 发表于 2022-11-27 15:36
评分助升级

太感谢了{:10_254:}

陈尚涵 发表于 2022-12-5 09:11:49

表达式求值
输入一个表达式:(1+2)/3
输出结果:1
虽然题目很好理解
但还是有难度的
提示:先转化成逆波兰,再使用栈

zhangjinxuan 发表于 2022-12-5 09:23:08

陈尚涵 发表于 2022-12-5 09:11
表达式求值
输入一个表达式:(1+2)/3
输出结果:1


简单啊

陈尚涵 发表于 2022-12-5 11:03:57

zhangjinxuan 发表于 2022-12-5 09:23
简单啊

陈尚涵 发表于 2022-12-5 11:06:42

zhangjinxuan 发表于 2022-12-5 09:23
简单啊

不使用eval有点难度
你可以试试

zhangjinxuan 发表于 2022-12-5 11:10:33

陈尚涵 发表于 2022-12-5 11:06
不使用eval有点难度
你可以试试

老师讲了就很简单,不需要用什么栈:
#include <bits/stdc++.h>
using namespace std;


const int N = 1000100;
int x, n;
char s;
int c1, c2, l1, l2, cor, cand;
#define p 1000000007
int calc(int l, int r) {
        if (l1 >= l) {
                if (s] == '+')
                        return (calc(l, l1 - 1) + calc(l1 + 1, r)) % p;
                else return (calc(l, l1 - 1) - calc(l1 + 1, r) + p) % p;
        } else if (l2 >= l) {
                if (s] == '*')
                        return (1LL * calc(l, l1 - 1) * calc(l1 + 1, r)) % p;
                else return (calc(l, l1 - 1) / calc(l1 + 1, r));
        }
        if (s == '(' && s == ')') return calc(l + 1, r - 1);
        int res = 0;
        for (int i = l; i <= r; ++i)
                res = res * 10 + s - '0';
        return res % p;
}

int main() {
        scanf("%s", s + 1);
        n = strlen(s + 1);
        for (int i = 1; i <= n; ++i) {
                if (s == '(') ++x;
                else if (s == ')') --x;
               
                if (s == '*' || s == '/') c2 = i;
                else if (s == '+' || s == '-') c1 = i;
                l1 = c1;
                l2 = c2;
        }
        int ans = calc(1, n);
        printf("%d\n", ans);
        return 0;
}

wangyanren 发表于 2022-12-5 11:20:08

搞点鱼币

zhangjinxuan 发表于 2022-12-5 11:23:09

wangyanren 发表于 2022-12-5 11:20
搞点鱼币

莫油了!

tommyyu 发表于 2023-1-1 11:54:39

本帖最后由 tommyyu 于 2023-1-2 15:25 编辑

我刚刚又想到一个题目,过来投稿一下{:10_256:} @zhangjinxuan

题目
编写一个程序,将输入的一个分段函数(每段皆为一次函数,且该分段函数连续),表示成多个绝对值和一个一次二项式(可有可无)的和或差。

输入输出格式
输入格式:
第一行有一个整数N,,表示分界点的个数。
第二行到第N+2行输入函数各段的表达式,详见输入输出样例。

输出格式:
一行,将以上的分段函数表示为多个绝对值得和或差。

输入输出样例:
输入样例:x<=0,-1/2x
x>=0,3x
输出样例:7/4|x|+5/4x(这道题建议再补几个测试点,楼主自己算吧,我被我造的一个样例折磨了半天,也没算出来{:10_282:} )

数据范围
n<=100.

zhangjinxuan 发表于 2023-1-1 12:51:38

tommyyu 发表于 2023-1-1 11:54
我刚刚又想到一个题目,过来投稿一下 @zhangjinxuan

题目


这,我有点看不懂{:10_257:}

tommyyu 发表于 2023-1-1 12:52:28

zhangjinxuan 发表于 2023-1-1 12:51
这,我有点看不懂

{:10_282:}{:10_282:}{:10_282:}应该是我表述的不太清晰

高山 发表于 2023-1-2 13:37:19

tommyyu 发表于 2023-1-1 11:54
我刚刚又想到一个题目,过来投稿一下 @zhangjinxuan

题目


行的,我找时间推出

dolly_yos2 发表于 2023-1-2 15:15:38

tommyyu 发表于 2023-1-1 11:54
我刚刚又想到一个题目,过来投稿一下 @zhangjinxuan

题目


好像有点意思,本质上是解线性方程组?
另外样例太少了,同时有上下界的分段区间怎么表示?

tommyyu 发表于 2023-1-2 15:23:47

dolly_yos2 发表于 2023-1-2 15:15
好像有点意思,本质上是解线性方程组?
另外样例太少了,同时有上下界的分段区间怎么表示?

{:10_282:}有上下界的就用a<=x<=b的形式表示
页: 1 [2] 3
查看完整版本: 每周一练题目征集活动【出题者有鱼币奖励!】