Pagini recente » Cod sursa (job #1354916) | Cod sursa (job #294971) | Cod sursa (job #155377) | Cod sursa (job #878288) | Cod sursa (job #1239142)
#include <iostream>
#include <iomanip>
#include <algorithm>
#include <string>
#include <cmath>
#include <map>
#include <set>
#include <vector>
#define NMAX 35
#define eps 0.00000001
using namespace std;
class sistem{
inline void schimba(int l1,int l2){
for(int i=1;i<=m+1;i++)
swap(mat[l1][i],mat[l2][i]);
}
inline void imp(int l1,double alpha){
for(int i=1;i<=m+1;i++)
mat[l1][i]/=alpha;
}
inline void scade(int l1,int l2,double alpha){
for(int i=1;i<=m+1;i++)
mat[l1][i]-=alpha*mat[l2][i];
}
public:
int n,m;
double mat[NMAX][NMAX];
double sol[NMAX];
inline void Gauss_Jordan(){
int i,j;
for(i=1;i<=n;i++){
for(j=i;j<=n;j++)
if(fabs(mat[j][i])>=eps)
break;
schimba(i,j);
imp(i,mat[i][i]);
for(j=1;j<=n;j++)
if(i!=j)
scade(j,i,mat[j][i]);
}
}
}x;
set<string> nume_salate;
set<string> nume_ings;
map<string,int> harta;
map<int,string> harta_inv;
struct salata
{
string nume;
vector<pair<string,int> > ings;
}salate[NMAX];
int main()
{
char x;
int t;
cin>>t;
for(int i=1;i<=t;i++){
cin>>salate[i].nume;
nume_salate.insert(salate[i].nume);
if(cin.eof())
break;
cin>>x;
int s=0;
string curent;
int aux;
while(s!=100){
cin>>curent;
nume_ings.insert(curent);
cin>>aux;
s+=aux;
salate[i].ings.push_back(make_pair(curent,aux));
}
}
set<string>::iterator it;
int poz=0;
for(it=nume_salate.begin();it!=nume_salate.end();it++){
harta[*it]=++poz;
harta_inv[poz]=*it;
cout<<"pt "<<*it<<' '<<poz<<endl;
}
for(it=nume_ings.begin();it!=nume_ings.end();it++){
harta[*it]=++poz;
harta_inv[poz]=*it;
cout<<"pt "<<*it<<' '<<poz<<endl;
}
return 0;
}