两个ide的结果不同?谢谢!
查看原帖
两个ide的结果不同?谢谢!
661318
codeG0d楼主2022/1/24 17:10

如题,我在洛谷ide和我用的vside上面的结果跑的不一样,洛谷ide总是在最后的输出多打印一个0,导致所有答案都是answer too long,我最后让程序少打印一个0(绿色部分减一)就全ac了,请问这是为什么呢 我自己在vs上运行图中代码是毫无问题的,现求助下各位,谢谢帮助了!

#include<bits/stdc++.h>
using namespace std;
int main()
{
	char ch;
	deque<int> s1, s2;
	while ((ch = getchar()) != '\n' && ch != ' ')
		s1.push_back(ch);
	while ((ch = getchar()) != '\n' && ch != ' ')
		s2.push_back(ch);
	if (s1 == s2)
	{
		cout << 0;
		return 0;
	}
	if (s2.size() > s1.size())
	{
		cout << '-';
		swap(s1, s2);
	}
	if (s1.size() == s2.size())
	{
		int k;
		for (k = 0; s1[k] == s2[k]; k++);
		if (s2[k] > s1[k])
		{
			cout << '-';
			swap(s1, s2);
		}
	}
	while(s1.size() > s2.size())
		s2.push_front('0');
	for (int i = s2.size() - 1; i >= 0; i--)
	{
		if (s1[i] < s2[i])
		{
			s1[i - 1]--;
			s1[i] += 10;
		}
		s1[i] -= s2[i];
	}
	int i;
	for (i = 0; s1[i] == 0; i++);
	for (; i < s1.size(); i++)
		cout << (int)s1[i];
}
2022/1/24 17:10
加载中...