在scanf語句後,t的值變爲0 不能理解爲什麼t受此語句影響,即使t = 100,程序只運行1次迭代! PS第一個問題在這裏!花了100分鐘來寫這篇文章!總會彈出一些問題! :@C++,受到scanf語句影響的其他變量
#include<cstdio>
#include<iostream>
#include<vector>
#include<algorithm>
#include<string>
#define MOD 1000000009
using namespace std;
int main()
{
int t;
scanf("%d",&t);
while(t--)
{
int n,m;
scanf("%d%d",&n,&m);
vector< pair<long long int,char> > a(m);
long long int x;
int i;
char d[1];
for(i=0;i<m;i++)
{
scanf("%s%lld",d,&x);// t becomes zero after this
a[i]=make_pair(x,d[0]);
}
sort(a.begin(),a.end());
long long int ans=1;
for(i=0;i<m-1;i++)
{
if(a[i].second!=a[i+1].second)
{
ans=ans*(a[i+1].first-a[i].first);
ans=ans%MOD;
}
}
ans=ans%MOD;
printf("%lld\n",ans);
}
return 0;
}
+1爲您的耐心等待! – haccks 2014-10-04 19:53:45
你有一個緩衝區溢出。由於這是C++,因此您應該使用流操作符而不是scanf。 – 2014-10-04 19:55:33