×
解除綁定,重新設定系統帳號的密碼
您的系統帳號 ID:
您的系統帳號:
您的帳號暱稱:
設定新密碼:
設定新密碼:
×
請輸入要加入的「課程代碼」
請向開設課程的使用者索取「課程代碼」
分類題庫
解題動態
排行榜
討論區
競賽區
登入
註冊
發表新討論
解題報告
#41265: 這題有點難喔
yp11351100@yphs.tp.edu.tw
(無法顯示名稱)
學校 : 臺北市私立延平高級中學
編號 : 276234
×
傳送站內訊息
傳給:
主題:
內容:
來源 : [203.72.178.1]
最後登入時間 :
2024-09-12 17:29:03
b512.
高維度稀疏向量
--
清華 MOOCs 2014 程式設計導論期末考
| From: [203.72.178.1] | 發表日期 : 2024-07-16 13:21
#include<iostream>
#include<sstream>
#include<map>
using namespace std;
int main()
{
int a,b;
long long int ans;
string s;
map<int,int> vector;
map<int,int>::iterator it;
while(getline(cin,s))
{
vector.clear();
for(int i=0;s[i]!='\0';i++)
if(s[i]==':')
s[i]=' ';
stringstream ss1(s);
while(ss1>>a>>b)
{
vector[a]=b;
}
/*if(a!=0||b!=0)
{
scanf(" ");
cout<<"a:"<<a<<" b:"<<b<<endl;
vector[a]=b;
scanf("%d:%d",&a,&b);
}
scanf("\n");*/
ans=0;
s.clear();
getline(cin,s);
for(int i=0;s[i]!='\0';i++)
if(s[i]==':')
s[i]=' ';
stringstream ss2(s);
while(ss2>>a>>b)
{
it=vector.find(a);
if(it!=vector.end())
ans+=vector[a]*b;
}
/*scanf("%d:%d",&a,&b);
while(a!=0||b!=0)
{
it=vector.find(a);
if(it!=vector.end())
ans+=vector[a]*b;
scanf("%d:%d",&a,&b);
}*/
cout<<ans<<"\n";
}
}
ZeroJudge Forum